use*_*652 4 c# ienumerable .net-2.0
我需要转换IEnumerable为List<string>.其中一种方法是迭代并将每个对象添加到列表中,但此过程耗费时间.有没有其他方法可以做到这一点.任何帮助,将不胜感激.
Dan*_*rth 13
您可以将枚举直接传递给新实例的构造List<string>函数:
List<string> list = new List<string>(yourEnumerable);
Run Code Online (Sandbox Code Playgroud)
或者你可以使用这个AddRange方法:
List<string> list = new List<string>();
list.AddRange(yourEnumerable);
Run Code Online (Sandbox Code Playgroud)
这个答案假定你实际上已经有了IEnumerable<string>.
如果不是这种情况,您唯一的选择是循环:
List<string> list = new List<string>();
foreach(object item in yourEnumerable)
list.Add(item.ToString());
Run Code Online (Sandbox Code Playgroud)
顺便说一句:你说的是:
其中一种方法是迭代并将每个对象添加到列表中,但此过程耗费时间
在任何情况下,您都需要迭代枚举.你怎么能得到所有的价值?在我给你的前两个示例代码中,枚举是在List<T>类中执行的,但它仍然在发生.
| 归档时间: |
|
| 查看次数: |
11841 次 |
| 最近记录: |