我需要将IEnumerable
转换为List<string>
。其中一种方法是迭代并将每个对象添加到列表中,但此过程耗费时间。有没有其他方法可以做到这一点。任何帮助将不胜感激。
答案 0 :(得分:13)
您可以将枚举直接传递到新List<string>
实例的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());
其中一种方法是遍历此方法并将每个对象添加到列表中,但此过程耗费时间
在任何情况下都需要迭代枚举。你怎么能得到所有的价值?在我给你的前两个示例代码中,枚举是在List<T>
类中执行的,但它仍在发生。