эта программа похожа на количество слов.
У меня большой файл, каждая строка содержит ключ и 2 числа
Мне нужно суммировать значения дельты по каждому ключу.
Все ключи даны, текстовый файл не будет иметь ключа, которого нет в списке.
Проблема в том, что каждый раз, когда я работаю с одним и тем же вводом, я получаю разные суммы.
public static ConcurrentDictionary<string, ulong> entries = new ConcurrentDictionary<string, ulong>();
//sequentially load keys into entries
ParallelOptions op = new ParallelOptions();
op.MaxDegreeOfParallelism = nThread;
Parallel.ForEach(lines, op, (one) =>
{
string[] parts = one.Split('\t');
string key = parts[1];
//get length
ulong len = Convert.ToUInt64(parts[4]) - Convert.ToUInt64(parts[3]);
if (entries.ContainsKey(key))
{
entries[key] += len;
}
else
{
Console.WriteLine("key not found: " + key);
}
});