有沒有辦法一次添加多個項目到ConcurrentBag,而不是一次一個?我沒有看到ConcurrentBag上的AddRange()方法,但有一個Concat()。然而,這不是爲我工作:ConcurrentBag - 添加多個項目?
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 <>行之後,objectList始終有0個對象。 Concat <>不是那樣工作嗎?我需要使用Add()方法一次向ConcurrentBag添加項目嗎?
最後使用SelectMany。 – 2018-02-08 17:06:31