Ответ 1
ConcurrentBag
имеет конструктор , который принимает IEnumerable
.
IEnumerable<T> myEnum = ...
ConcurrentBag<T> myBag = new ConcurrentBag<T>(myEnum);
Мой запрос linq возвращает коллекцию IEnumerable<object>
.
Как я могу преобразовать это в строго типизированный объект коллекции ConcurrentBag<object>
?
ConcurrentBag
имеет конструктор , который принимает IEnumerable
.
IEnumerable<T> myEnum = ...
ConcurrentBag<T> myBag = new ConcurrentBag<T>(myEnum);
Вы можете использовать правильный конструктор.
IEnumerable<Foo> foos = ...
ConcurrentBag<Foo> concurrentFoos = new ConcurrentBag<Foo>(foos);
ConcurrentBag<T>
имеет конструктор, который принимает IEnumberable<T>
качестве входных данных.
Несколько коллекций поддерживают это, поэтому обязательно проверяйте перегрузки конструктора.
Вот метод расширения:
public static ConcurrentBag<T> ToConcurrentBag<T>(this IEnumerable<T> source) => new ConcurrentBag<T>(source);