Нельзя смешивать синтаксис создания массива с синтаксисом инициализации объекта. Удалить { }
.
Когда вы пишете:
int[] row = new int[indices.Count];
Вы создаете новый массив размером indices.Count
, инициализированный по умолчанию.
Когда вы пишете:
int[] row = new int[] { 1, 2, 3, 4 };
Вы создаете массив и затем инициализируете его содержимое значениями [1,2,3,4]. Размер массива определяется по количеству элементов. Это сокращение для:
int[] row = new int[4];
row[0] = 1;
row[1] = 2;
row[2] = 3;
row[3] = 4;
Массив по-прежнему инициализируется по умолчанию , этот синтаксис просто обеспечивает сокращение, чтобы избежать необходимости писать эти дополнительные назначения самостоятельно.