草庐IT

IEnumerable

全部标签

c# - 如何将 IEnumerable 转换为 ObservableCollection?

如何将IEnumerable转换为ObservableCollection? 最佳答案 根据MSDNvarmyObservableCollection=newObservableCollection(myIEnumerable);这将生成当前IEnumerable的浅拷贝并将其转换为ObservableCollection。 关于c#-如何将IEnumerable转换为ObservableCollection?,我们在StackOverflow上找到一个类似的问题:

c# - 为什么我可以在 C# 中像数组一样初始化一个列表?

今天我惊讶地发现在C#中我可以做到:Lista=newList{1,2,3};为什么我可以这样做?调用什么构造函数?我怎样才能用我自己的类(class)做到这一点?我知道这是初始化数组的方法,但数组是语言项而列表是简单对象... 最佳答案 这是.NET中集合初始化器语法的一部分。您可以在您创建的任何集合上使用此语法,只要:它实现了IEnumerable(最好是IEnumerable)它有一个名为Add(...)的方法会发生什么是调用默认构造函数,然后Add(...)为初始化程序的每个成员调用。因此,这两个block大致相同:List

c# - 为什么我可以在 C# 中像数组一样初始化一个列表?

今天我惊讶地发现在C#中我可以做到:Lista=newList{1,2,3};为什么我可以这样做?调用什么构造函数?我怎样才能用我自己的类(class)做到这一点?我知道这是初始化数组的方法,但数组是语言项而列表是简单对象... 最佳答案 这是.NET中集合初始化器语法的一部分。您可以在您创建的任何集合上使用此语法,只要:它实现了IEnumerable(最好是IEnumerable)它有一个名为Add(...)的方法会发生什么是调用默认构造函数,然后Add(...)为初始化程序的每个成员调用。因此,这两个block大致相同:List

c# - 如何获取 IEnumerable 中元素的索引?

我是这样写的:publicstaticclassEnumerableExtensions{publicstaticintIndexOf(thisIEnumerableobj,Tvalue){returnobj.Select((a,i)=>(a.Equals(value))?i:-1).Max();}publicstaticintIndexOf(thisIEnumerableobj,Tvalue,IEqualityComparercomparer){returnobj.Select((a,i)=>(comparer.Equals(a,value))?i:-1).Max();}}但我不知道

c# - 如何获取 IEnumerable 中元素的索引?

我是这样写的:publicstaticclassEnumerableExtensions{publicstaticintIndexOf(thisIEnumerableobj,Tvalue){returnobj.Select((a,i)=>(a.Equals(value))?i:-1).Max();}publicstaticintIndexOf(thisIEnumerableobj,Tvalue,IEqualityComparercomparer){returnobj.Select((a,i)=>(comparer.Equals(a,value))?i:-1).Max();}}但我不知道

c# - IEnumerable<char> 到字符串

这个问题在这里已经有了答案:BestwaytoconvertIEnumerabletostring?(8个答案)关闭7年前。我以前从来没有偶然发现过这个,但我现在遇到了,我很惊讶我找不到一个真正简单的方法来转换IEnumerable到string.我能想到的最好的方法是stringstr=newstring(myEnumerable.ToArray());,但是,对我来说,这似乎会创建一个新的char[],然后创建一个新的string由此看来,这似乎很昂贵。我原以为这是.NET框架中某处内置的通用功能。有更简单的方法吗?对于那些感兴趣的人,我想使用它的原因是使用LINQ来过滤字符串:s

c# - IEnumerable<char> 到字符串

这个问题在这里已经有了答案:BestwaytoconvertIEnumerabletostring?(8个答案)关闭7年前。我以前从来没有偶然发现过这个,但我现在遇到了,我很惊讶我找不到一个真正简单的方法来转换IEnumerable到string.我能想到的最好的方法是stringstr=newstring(myEnumerable.ToArray());,但是,对我来说,这似乎会创建一个新的char[],然后创建一个新的string由此看来,这似乎很昂贵。我原以为这是.NET框架中某处内置的通用功能。有更简单的方法吗?对于那些感兴趣的人,我想使用它的原因是使用LINQ来过滤字符串:s

c# - Parallel.ForEach() 与 foreach(IEnumerable<T>.AsParallel())

Erg,我试图使用Reflector在BCL中找到这两个方法,但无法找到它们。这两个片段有什么区别?答:IEnumerableitems=...Parallel.ForEach(items,item=>{...});乙:IEnumerableitems=...foreach(variteminitems.AsParallel()){...}使用其中一种会产生不同的后果吗?(假设我在两个示例的括号内所做的任何事情都是线程安全的。) 最佳答案 他们做的事情完全不同。第一个采用匿名委托(delegate),并针对所有不同项目在此代码上并行

c# - Parallel.ForEach() 与 foreach(IEnumerable<T>.AsParallel())

Erg,我试图使用Reflector在BCL中找到这两个方法,但无法找到它们。这两个片段有什么区别?答:IEnumerableitems=...Parallel.ForEach(items,item=>{...});乙:IEnumerableitems=...foreach(variteminitems.AsParallel()){...}使用其中一种会产生不同的后果吗?(假设我在两个示例的括号内所做的任何事情都是线程安全的。) 最佳答案 他们做的事情完全不同。第一个采用匿名委托(delegate),并针对所有不同项目在此代码上并行

c# - 如何从 .net 中的 IEnumerable<T> 获取第一个元素?

我经常想抓取IEnumerable的第一个元素在.net中,我还没有找到一个很好的方法来做到这一点。我想到的最好的是:foreach(Elemeinenumerable){//dosomethingwithebreak;}呸!那么,有什么好的方法可以做到这一点吗? 最佳答案 如果可以使用LINQ,则可以使用:vare=enumerable.First();如果enumerable为空,这将抛出异常:在这种情况下,您可以使用:vare=enumerable.FirstOrDefault();FirstOrDefault()将返回def