Есть ли способ добавить несколько элементов в ConcurrentBag одновременно, а не по одному за раз? Я не вижу метод AddRange() на ConcurrentBag, но есть Concat(). Однако это не работает для меня:
ConcurrentBag<T> objectList = new ConcurrentBag<T>();
timeChunks.ForEach(timeChunk =>
{
List<T> newList = Foo.SomeMethod<T>(x => x.SomeReadTime > timeChunk.StartTime);
objectList.Concat<T>(newList);
});
Этот код использовался в Parallel.ForEach(), но я изменил его на выше, чтобы я мог устранить его. У переменной newList действительно есть объекты, но после объекта objectList.Concat < > line, objectList всегда имеет в нем 0 объектов. Неужели Concat < > не работает таким образом? Нужно ли добавлять элементы в ConcurrentBag по одному за раз с помощью метода Add()?