UPDATE
Основываясь на бенчмарке , касающемся производительности Array.Clear()
и array[x] = default(T)
, мы можем констатировать, что при обнулении массива необходимо учитывать два основных случая :
A) Существует массив длиной 1,76 элемента ;
B) Существует массив длиной 77 или более элементов .
Таким образом, оранжевая линия на графике представляет Array.Clear()
подход.
Линия blue на графике представляет подход array[x] = default(T)
(итерация по массиву и установка его значений на default(T)
).

Вы можете написать один раз Помощник для выполнения этой работы, например:
public static class ArrayHelper
{
// Performance-oriented algorithm selection
public static void SelfSetToDefaults<T>(this T[] sourceArray)
{
if (sourceArray.Length <= 76)
{
for (int i = 0; i < sourceArray.Length; i++)
{
sourceArray[i] = default(T);
}
}
else { // 77+
Array.Clear(
array: sourceArray,
index: 0,
length: sourceArray.Length);
}
}
}
Использование:
someArray.SelfSetToDefaults();