如何在C#中将IEnumerable <t>转换为ConcurrentBag <t>?</t> </t>

时间:2010-09-20 07:10:05

标签: c# c#-4.0

我的linq查询返回IEnumerable<object>

的集合

如何将其转换为集合ConcurrentBag<object>的强类型对象?

4 个答案:

答案 0 :(得分:41)

ConcurrentBag有一个constructor,需要IEnumerable

IEnumerable<T> myEnum = ...
ConcurrentBag<T> myBag = new ConcurrentBag<T>(myEnum);

答案 1 :(得分:12)

您可以使用proper constructor

IEnumerable<Foo> foos = ...
ConcurrentBag<Foo> concurrentFoos = new ConcurrentBag<Foo>(foos);

答案 2 :(得分:7)

ConcurrentBag<T>有一个constructor,需要IEnumberable<T>作为输入。

有几个集合支持这一点,因此请务必检查构造函数重载。

答案 3 :(得分:0)

这是扩展方法:

public static ConcurrentBag<T> ToConcurrentBag<T>(this IEnumerable<T> source) => new ConcurrentBag<T>(source);