![](/img/trans.png)
[英]Convert Dictionary<string,List<foo>> to List<foo> in C# 2.0
[英]Whats a quick way to convert an IEnumerable<Foo> to List<Foo> in C# 2.0?
我们都知道慢速方式:
foreach..
IEnumerable<T> enumerable = ...;
List<T> list = new List<T>(enumerable);
怎么样:
IEnumerable<T> sequence = GetSequenceFromSomewhere();
List<T> list = new List<T>(sequence);
请注意,这是针对序列恰好是IList<T>
的情况进行了优化的-然后使用IList<T>.CopyTo
。 在大多数情况下,它仍然是O(n),但可能比迭代O(n)快得多:)(它还避免了在创建时进行任何大小调整。)
您要在通用列表上使用.AddRange方法。
List<string> strings = new List<string>();
strings.AddRange(...);
..或构造函数..
new List<string>(...);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.