4
我需要将IEnumerable
转换为List<string>
。其中一种方法是通过重新访问并将每个对象添加到列表中,但此过程耗时不一。有没有其他的方式来做到这一点。任何帮助,将不胜感激。在.net 2.0中将IEnumerable转换为列表<string>
我需要将IEnumerable
转换为List<string>
。其中一种方法是通过重新访问并将每个对象添加到列表中,但此过程耗时不一。有没有其他的方式来做到这一点。任何帮助,将不胜感激。在.net 2.0中将IEnumerable转换为列表<string>
您可以枚举直接传递到一个新的List<string>
instace的constructor:
List<string> list = new List<string>(yourEnumerable);
,或者您可以使用AddRange
方法:
List<string> list = new List<string>();
list.AddRange(yourEnumerable);
这个答案假定您实际上已经有一个IEnumerable<string>
。
如果不是这种情况下,你唯一的选择是一个循环:
List<string> list = new List<string>();
foreach(object item in yourEnumerable)
list.Add(item.ToString());
BTW:你是说:
的方式之一就是通过这个itearte并添加每个反对列表,但这个过程是不同的时间消耗
你需要迭代enumerable在任何情况下。你还能得到所有的价值吗?在我给你的前两个示例代码中,枚举在List<T>
类中执行,但它仍在发生。
感谢您的帮助,但我IEnumerable这不是IEnumerable所以我不能使用这种方法。是的,我知道这也会反复通过它,但它会花费更少的时间,然后手动做...因为我正在做... –
user1685652
@ user1685652:不,它会花费同样多的时间。为什么它应该更快? –
对不起,我没有发布整个事情,因为我只想要转换的方式。为你解释整个过程首先需要将它转换成一个DirectoryEntry类型对象,然后访问它的属性,然后添加这需要花费很多时间。 – user1685652