草庐IT

random_items

全部标签

c# - 为 "Random"的不同实例创建不同的种子

人们通常会问为什么他们在使用Random时总是得到相同的数字。在他们的例子中,他们每次都无意中创建了一个Random的新实例(而不是只使用一个实例),这当然会导致始终出现相同的数字。但就我而言,我确实需要Random的多个实例,它们返回不同的数字流。在我看来,使用硬编码种子不是一个好主意,因为您在重新启动程序后会一次又一次地获得相同的值。这个怎么样:intseed1=(int)DateTime.Now.Ticks-13489565;intseed2=(int)DateTime.Now.Ticks-5564;我知道这看起来很愚蠢和天真,但它会在每次重启后避免相同的值,并且两个种子应该不同

c# - 根据 item.key 获取字典项的索引

如何根据元素键找到字典元素的索引?我正在使用以下代码来浏览字典:foreach(varentryinfreq){varword=entry.Key;varwordFreq=entry.Value;inttermIndex=??????;}有人能帮忙吗? 最佳答案 Dictionary中没有索引的概念。您不能依赖Dictionary中项目的任何顺序。OrderedDictionary可能是替代方案。varfreq=newOrderedDictionary();//...foreach(varentryinfreq){varword=e

c# - 递归 LINQ 查询 : select item and all children with subchildren

有没有什么方法可以编写一个LINQ(或过程式)查询,它可以通过一个查询选择一个项目和所有子项?我有实体:publicclassComment{publicintId{get;set;}publicintParentId{get;set;}publicintText{get;set;}}我有一个ID,所以我想选择带有ID的Comment及其所有子项和子项。示例:1-2--3-4-5--623如果ID==1那么我想要1,2,3,4,5,6的列表。 最佳答案 publicclassComment{publicintId{get;set;}

c# - LINQ to Entities 无法识别方法 'System.String get_Item (System.String)' ,

我该如何解决这个问题?这是我的代码:DateTimedtInicio=newDateTime();DateTimedtFim=newDateTime();Int32codStatus=0;if(!string.IsNullOrEmpty(collection["txtDtInicial"]))dtInicio=Convert.ToDateTime(collection["txtDtInicial"]);if(!string.IsNullOrEmpty(collection["txtDtFinal"]))dtFim=Convert.ToDateTime(collection["txtDt

c# - 奇怪的 Queue<T>.Enqueue(T item) 代码

在使用ILSpy进行反射时,我在Queue.Enqueue(Titem)中找到了这行代码-方法:if(this._size==this._array.Length){intnum=(int)((long)this._array.Length*200L/100L);if(num我只是想知道为什么有人会这样做?我认为这是某种整数溢出检查,但为什么要先乘以200L然后除以100L?这可能是早期编译器的问题吗? 最佳答案 通常先乘以再除以100是百分比计算-也许在原始代码中有一些constXxxPercentage=200或类似的东西。编译

c# - HttpContext.Current.Items 的范围

当Server.Transfer();发生时,HttpContext.Current.Items是否丢失?如果是这样,我将信息发送到另一个页面的最佳方式是什么不通过session? 最佳答案 是的,上下文仍然有效。如果您使用Response.Redirect(),它将变得无效或中断。参见文章TheHttpContextItemsCollection 关于c#-HttpContext.Current.Items的范围,我们在StackOverflow上找到一个类似的问题:

c# - Visual Studio 中的 "Add existing item": is it possible to make "Add as link" default?

正如this中指出的那样因此,VisualStudio中的Add>Existingitem对话框默认显示Add按钮(意味着所选项目将被物理复制到新位置),而理想的操作通常(总是?)添加为链接。是否可以配置VisualStudio,以便在打开添加>现有项目对话框时默认选择添加为链接?我已经彻底搜索了VisualStudio中的Options对话框并检查了MSDN文档以找到对此的答案,但到目前为止无济于事。ProjectLinker当两个新项目要共享同一代码库时,自动链接是一个不错的选择。但是,当将大量文件从现有项目链接到新项目时,似乎仅限于Add>Existingitem方法,而且这项工

c# - ASP.NET 标识 : Generate random password

是否有创建随secret码的内置函数?Asp.netsimplemembership曾经有类似的方法 最佳答案 虽然我来晚了一点,但我想分享我放在一起以ASP.NETCore兼容的方式处理此类场景的辅助方法。下面的函数确保了适当的字符分布,在字符串中随机添加所需的字符类型并且不改变所需的长度(除非具有大量所需的唯一字符的边缘情况,这是设计的意思)。它还支持RequiredUniqueChars规则,这是ASP.NETCoreIdentity框架可用的强度要求之一。//////GeneratesaRandomPassword///re

c# - 带有通用对象列表的 List.Contains(item)

如果您有一个列表,如果指定的属性或属性集合存在,您如何返回该项目?publicclassTesting{publicstringvalue1{get;set;}publicstringvalue2{get;set;}publicintvalue3{get;set;}}publicclassTestingList{publicvoidTestingNewList(){vartestList=newList{newTesting{value1="Value1-1",value2="Value2-1",value3=3},newTesting{value1="Value1-2",value2

c# - Random(int seed) 保证什么?

我正在从事一个项目,该项目依赖于为用户随机分配(没什么花哨的,只是统一的)更大集合的子集。每个用户都有一个从集契约(Contract)构到整数的唯一标识符。据我所知,有两种方法可以做到这一点。在用户和上述较大集合的键控元素之间创建一个数据库连接表,每个用户使用一些函数。这对我的需求来说可能有点不切实际,所以我宁愿做...在运行时通过类似的函数确定子集,但使用唯一的用户ID作为种子值,并且只将集合保存在内存中。下次需要时,它会从更大的集合中再次创建。所以我的问题是,如果我使用.NETRandom对象创建第二个使用user-id作为种子值的函数,Microsoft是否保证以后不会更改Ran