Но почему так?
Switch быстрее же
Как разбирать чужой код?
Документации почти нет
как поступать в ситуации когда имея на руках только исходники библиотеки понять как она работает?
A[n]как исходного массива, так и фрагмента. по отклонению можно делать вывод о наличии пропуска (или нескольких)
CREATE TABLE [dbo].[pallets](
[shipmentid] [int] NULL,
[shipped] AS (CONVERT([bit],case when [shipmentid] IS NULL then (0) else (1) end))
) ON [PRIMARY]
[shipped] AS (CONVERT([bit],isnull([shipmentid],(0))))
void UntilSuccess(Action action) {
if (action == null)
throw new ArgumentNullException();
while (true) {
try
{
action.Invoke();
break;
}
catch { Thread.Sleep(300); }
}
}
// Использовать так:
UntilSuccess(() => File.WriteAllText(@"C:\\serv1.txt", "text"));
foreach
наParallel.Invoke(() => DoSomeWork(), () => DoSomeOtherWork());
Количество потоков подобрать под конкретное железо, либо (если есть желание заморочиться) можно сделать настраиваемым - начать с 4 потоков, считать среднюю скорость обработки узлов (кол-во узлов в минуту), вводить по одному потоку в минуту, измеряя, увеличилось ли время или уменьшилось. Если время увеличилось - возвращаем прежнее количество, если уменьшилось - добавляем ещё поток, пока не найдём оптимальный вариант.