Я использую System.Threading.Tasks.Parallel.For
, чтобы сделать некоторую тяжеловесную обработку.Параллельный. Для синхронизации с нулевыми объектами
Мой код:
int count = 10;
List<MyObj> results = new List<MyObj>();
Parallel.For(0, count, (index) =>
{
MyObj obj = GetMyObjMaybe();
if (obj != null)
results.Add(obj);
});
if (results.Contains(null))
{
//break here, and it does
}
//sometimes contains null objects
return results;
}
Я не ожидал, что становится нулевым в списке, но я. Должно быть, я как-то искал использование index
. Есть идеи?
Что такое 'c' в' results.Add (c) '? –
Да, спасибо. Исправлена. – bufferz