我有這樣的Parallel.For代碼:的Parallel.For循環相同的項目
foreach (string g in allGames)
{
eventsList.Add(game);
}
eventsList.Distinct();
Parallel.For(0, eventsList.Count, i =>
{
Console.WriteLine(eventsList[i]);
});
的allGames陣列包含以下字符串:
String A: Lee, Stephen - Cope, Jamie
String B: Carter, Ali - Stevens, M
String C: Dott, G - McManus, Alan
String D: Bingham, S - Liu Song
String E: Davis, Mark - Joyce, Mark
String F: Walden, R - Liu Chuang
我的結果是這樣的:
Game: Lee, Stephen - Cope, Jamie
Game: Lee, Stephen - Cope, Jamie
Game: Lee, Stephen - Cope, Jamie
Game: Lee, Stephen - Cope, Jamie
Game: Carter, Ali - Stevens, M
Game: Dott, G - McManus, Alan
Game: Bingham, S - Liu Song
Game: Davis, Mark - Joyce, Mark
Game: Walden, R - Liu Chuang
它看起來像它在相同的迭代4次(它在代碼中發生了很多次)。
我確認eventsList列表不包含任何重複,即100%確認。
任何線索我該如何解決這個問題,使其在每個元素上只能使用一次?
謝謝!
'eventsList.Distinct();'這一行沒有太大的作用。你的意思是'eventsList = eventsList.Distinct();'? –
做'.Distinct()'時,會返回一個新的對象,而不是改變列表。另外,你似乎在'allGames.Count()'次列表中添加了'game'對象(你的局部變量被稱爲'g',而不是'game')。 –