ConcurrentDictionary и ConcurrentBag для AddOrUpdate параллельноC#

Место общения программистов C#
Ответить
Anonymous
 ConcurrentDictionary и ConcurrentBag для AddOrUpdate параллельно

Сообщение Anonymous »


Правильно ли использовать ConcurrentDictionary и ConcurrentBag для значений AddOrUpdate.

В основном пытался сделать следующее:
[*]
имею файл с миллионами записей и пытаюсь обработать и извлечь его в объект.
[*]
И запись такая: пара ключ-значение, Ключ=WBAN и значение как объект.
var cd = new ConcurrentDictionary(); число интервалов = 0; foreach (строка var в File.ReadLines(path).AsParallel().WithDegreeOfParallelism(5)) { var sInfo = line.Split(new char[] { ',' }); cd.AddOrUpdate(sInfo[0], новый ConcurrentBag(){новые данные() { WBAN = sInfo[0], Дата = string.IsNullOrEmpty(sInfo[1])? "" : sInfo[1], время = string.IsNullOrEmpty(sInfo[2]) ? "" : sInfo[2] } } , (oldKey, oldValue) => { oldValue.Add(новые данные() { WBAN = sInfo[0], Дата = string.IsNullOrEmpty(sInfo[1])? "" : sInfo[1], время = string.IsNullOrEmpty(sInfo[2]) ? "" : sInfo[2] }); вернуть старое значение; } ); }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»