Изначально нужно было написать поочередный XOR элементов массива. При реализации через Interlocked.Exchange (нужно именно с помощью него) выдает отличительные результаты от Aggregate. Не могу никак понять почему Interlocked выдает один результат, когда реализации в Aggregate и однопоточном XOR выдают другой(одинаковый).
XOR Interlocked
private static int ParallelXor(int[] data)
{
int result = data.First();
Parallel.For(1, data.Length, (current) =>
{
Interlocked.Exchange(ref result, (result ^ data[current]));
});
return result;
}
XOR Aggregate:
private static int ParallelXorAggregate(int[] data)
=> data.AsParallel().Aggregate((current, result) => current ^ result);
XOR однопоточный:
static int TestXor(int[] list)
{
int result = list.First();
for(int i = 1; i < list.Count(); i ++)
result = result ^ list[i];
return result;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу сделать так, чтобы при нажатии кнопки на клавиатуре, срабатывала кнопка из WPFВроде так можно было делать с помощью Label элемента управления
Делаю ide для языка C# на WinFormsПри запуске отправляю файлу csc
Как сделать, что бы при неверном url происходила переадресация на главную страницу ? Я пытаюсь реализовать это добавлением в webconfig :