草庐IT

ienumerable

全部标签

c# - Linq - 找出延迟执行的最快方法是什么?

找出哪些.net框架linq方法(例如.IEnumerablelinq方法)是使用延迟执行实现的,哪些不是使用延迟执行实现的,最快的方法是什么。在多次编码时,我想知道这个是否会以正确的方式执行。找出答案的唯一方法是转到MSDN文档以确保。有没有更快的方法,任何目录,网络上某处的任何列表,任何备忘单,任何其他可以分享的技巧?如果是,请这样做。这将帮助许多linq菜鸟(比如我)少犯错误。唯一的另一种选择是检查文档,直到人们使用它们足以记住(这对我来说很难,我倾向于不记得在某处记录并可以查找的“任何东西”:D)。 最佳答案 通常返回序列的

c# - Linq - 找出延迟执行的最快方法是什么?

找出哪些.net框架linq方法(例如.IEnumerablelinq方法)是使用延迟执行实现的,哪些不是使用延迟执行实现的,最快的方法是什么。在多次编码时,我想知道这个是否会以正确的方式执行。找出答案的唯一方法是转到MSDN文档以确保。有没有更快的方法,任何目录,网络上某处的任何列表,任何备忘单,任何其他可以分享的技巧?如果是,请这样做。这将帮助许多linq菜鸟(比如我)少犯错误。唯一的另一种选择是检查文档,直到人们使用它们足以记住(这对我来说很难,我倾向于不记得在某处记录并可以查找的“任何东西”:D)。 最佳答案 通常返回序列的

c# - 如何在 .Net 中实现 ConcurrentHashSet

我正在尝试本着ConcurrentDictionary的精神实现一个ConcurrentHashSet,所采取的方法是使用内部支持ConcurrentDictionary并编写小的委托(delegate)方法,这就是我所达到的程度,但是我坚持使用集合论方法,尤其是。我不确定我是否可以使用foreach并且仍然不违反并发publicclassConcurrentHashSet:ISet{privatereadonlyConcurrentDictionary_internal;publicConcurrentHashSet(IEnumerableelements=null){_intern

c# - 如何在 .Net 中实现 ConcurrentHashSet

我正在尝试本着ConcurrentDictionary的精神实现一个ConcurrentHashSet,所采取的方法是使用内部支持ConcurrentDictionary并编写小的委托(delegate)方法,这就是我所达到的程度,但是我坚持使用集合论方法,尤其是。我不确定我是否可以使用foreach并且仍然不违反并发publicclassConcurrentHashSet:ISet{privatereadonlyConcurrentDictionary_internal;publicConcurrentHashSet(IEnumerableelements=null){_intern

c# - 将 IEnumerator 转换为通用 IEnumerator 的最佳方法是什么?

我正在为C#.NET3.5中的自定义ConfigurationHandler编写自定义ConfigurationElementCollection,我想将IEnumerator公开为通用IEnumerator。实现此目标的最佳方法是什么?我目前使用的代码:publicnewIEnumeratorGetEnumerator(){varlist=newList();varbaseEnum=base.GetEnumerator();while(baseEnum.MoveNext()){varobj=baseEnum.CurrentasGenericObject;if(obj!=null)li

c# - 将 IEnumerator 转换为通用 IEnumerator 的最佳方法是什么?

我正在为C#.NET3.5中的自定义ConfigurationHandler编写自定义ConfigurationElementCollection,我想将IEnumerator公开为通用IEnumerator。实现此目标的最佳方法是什么?我目前使用的代码:publicnewIEnumeratorGetEnumerator(){varlist=newList();varbaseEnum=base.GetEnumerator();while(baseEnum.MoveNext()){varobj=baseEnum.CurrentasGenericObject;if(obj!=null)li

c# - 将列表转换为 IEnumerable<SelectListItem>

这里有一个棘手的问题。我正在尝试将列表项转换为IEnumerable.列表dynamicTextInDatabase只需返回我的数据库中使用的所有枚举。目前只返回1和2。数据类simple持有一个int值。dynamicTextEnumsInDatabase与上面的列表相同,只是在实际存储我的枚举的类中。dynamicTextEnumsAll是我的应用程序中可用的所有枚举的列表。当前:1、2和3。dynamicTextEnumsAvaiable是所有未使用的枚举的列表。它组合所有枚举,然后删除数据库列表中的枚举。我需要通过dynamicTextEnumsAvaiable通过ViewBa

c# - 将列表转换为 IEnumerable<SelectListItem>

这里有一个棘手的问题。我正在尝试将列表项转换为IEnumerable.列表dynamicTextInDatabase只需返回我的数据库中使用的所有枚举。目前只返回1和2。数据类simple持有一个int值。dynamicTextEnumsInDatabase与上面的列表相同,只是在实际存储我的枚举的类中。dynamicTextEnumsAll是我的应用程序中可用的所有枚举的列表。当前:1、2和3。dynamicTextEnumsAvaiable是所有未使用的枚举的列表。它组合所有枚举,然后删除数据库列表中的枚举。我需要通过dynamicTextEnumsAvaiable通过ViewBa

c# - yield 为空

有什么方法可以使用“返回yield”驱动的迭代器选择性地返回null吗?在某些情况下我想返回一个空值,我认为这不是字符串类型的IEnumerable特有的。对于int类型的IEnumerable等也是如此。谢谢staticvoidMain(string[]args){varItems=GetItems();if(Items!=null){foreach(variteminItems){Console.WriteLine(item);}}else{Console.WriteLine("");}}staticIEnumerableGetItems(){if(false){yieldretu

c# - yield 为空

有什么方法可以使用“返回yield”驱动的迭代器选择性地返回null吗?在某些情况下我想返回一个空值,我认为这不是字符串类型的IEnumerable特有的。对于int类型的IEnumerable等也是如此。谢谢staticvoidMain(string[]args){varItems=GetItems();if(Items!=null){foreach(variteminItems){Console.WriteLine(item);}}else{Console.WriteLine("");}}staticIEnumerableGetItems(){if(false){yieldretu