Я хочу инициализировать массив массивов, например, в java:
int[][] arrPos=new int[16][48];
int[][] arrPosOther=new int[16][48];
и я могу установить значение массива строк следующим образом:
arrPos[0]=arrPosOther[0];
и я могу установить значение ячейки следующим образом:
arrPos[1][0]=125;
но в С# я могу объявить только вот так:
int[][] arrPos=new int[16][];
не может установить значение столбца в инициализации.
Похоже, вы пытаетесь найти способ инициализации массива Jagged в С#: см. Следующий пример:
int[][] jaggedArray2 = new int[][]
{
new int[] {1,3,5,7,9},
new int[] {0,2,4,6},
new int[] {11,22}
};
Краткая форма для одного и того же образца показана ниже:
int[][] jaggedArray2 =
{
new int[] {1,3,5,7,9},
new int[] {0,2,4,6},
new int[] {11,22}
};
Вы также можете выполнить инициализацию в несколько этапов:
int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[5];
jaggedArray[1] = new int[4];
jaggedArray[2] = new int[2];
jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };
jaggedArray[1] = new int[] { 0, 2, 4, 6 };
jaggedArray[2] = new int[] { 11, 22 };
И, судя по всему, вы можете реализовать своего рода цикл for
или foreach
, чтобы заполнить массив из некоторой структуры данных. Дополнительное чтение доступно по адресу: http://msdn.microsoft.com/en-us/library/2s05feca.aspx
Кроме того, вам следует, вероятно, рассмотреть использование многомерного массива, например, int[,]
(синтаксис С# в этом случае отличается от Java lang). Надеюсь, это поможет.
Синтаксиса нет.
Одним из вариантов утверждения может быть
int[][] arrPos = Enumerable.Range(0, length).Select(_ => new int[length]).ToArray();
int[,]
,int[,,]
или зубчатый массивint[][]
. Эти 2 покроют все потребности массива