Я знаю, что экземплярированные массивы типов значений в С# автоматически заполняются значением по умолчанию типа (например, false для bool, 0 для int и т.д.).
Есть ли способ автоматического заполнения массива с начальным значением, которое не является значением по умолчанию? Или после создания или встроенного метода (например, Java Arrays.fill())? Скажем, мне нужен логический массив, который по умолчанию был истинным, а не false. Есть ли встроенный способ сделать это, или вам просто нужно перебирать массив с циклом for?
// Example pseudo-code:
bool[] abValues = new[1000000];
Array.Populate(abValues, true);
// Currently how I'm handling this:
bool[] abValues = new[1000000];
for (int i = 0; i < 1000000; i++)
{
abValues[i] = true;
}
Чтобы выполнить итерацию по массиву и "reset", каждое значение в true кажется неэффективным. Во всяком случае, вокруг? Может быть, перевернув все значения?
После ввода этого вопроса и размышления об этом, я предполагаю, что значения по умолчанию - это просто результат того, как С# обрабатывает выделение памяти этими объектами за кулисами, поэтому я полагаю, что это, вероятно, невозможно сделать. Но я все равно хотел бы знать наверняка!