Как конвертировать IEnumerable <T>в ConcurrentBag <T>в C #? - PullRequest
25 голосов
/ 20 сентября 2010

Мой запрос linq возвращает коллекцию IEnumerable<object>.

Как я могу преобразовать это в строго типизированный объект коллекции ConcurrentBag<object>?

Ответы [ 4 ]

42 голосов
/ 20 сентября 2010

ConcurrentBag имеет конструктор , который принимает IEnumerable.

IEnumerable<T> myEnum = ...
ConcurrentBag<T> myBag = new ConcurrentBag<T>(myEnum);
12 голосов
/ 20 сентября 2010

Вы можете использовать правильный конструктор .

IEnumerable<Foo> foos = ...
ConcurrentBag<Foo> concurrentFoos = new ConcurrentBag<Foo>(foos);
7 голосов
/ 20 сентября 2010

ConcurrentBag<T> имеет конструктор , который принимает IEnumberable<T> в качестве входных данных.

Несколько коллекций поддерживают это, поэтому обязательно проверяйте перегрузки конструктора.

0 голосов
/ 22 февраля 2018

Вот метод расширения:

public static ConcurrentBag<T> ToConcurrentBag<T>(this IEnumerable<T> source) => new ConcurrentBag<T>(source);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...