2012-07-04 1 views
5

Мне интересно, в чем разница между двумя способами определения многомерного массива в C#.Разница между многомерными обозначениями массива (объект [] [] и object [,])

Вы можете использовать object[][] и object[,] для работы с многомерным массивом.

Существуют ли функциональные отличия?

+0

http://stackoverflow.com/questions/597720/what-is-differences-between-multidimensional-array-and-array-of-arrays-in -c – Jodrell

+1

Возможный дубликат _exactly_: http://stackoverflow.com/q/597720 – mmdemirbas

+0

@Jodrell Мой комментарий также повторяется по иронии судьбы :) – mmdemirbas

ответ

6

object[][] - это обозначение для массива массивов. Второй object[,] представляет собой двумерный массив.

Основное отличие состоит в том, что первый может содержать «внутренние» массивы разной длины, второй должен быть прямоугольным (например, 4x7).

Пример:

int[][] a = new int[] { new int[]{ 1, 2 }, new int[]{ 3, 4, 5, 6, 7 }}; 
int[,] b = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; 

This is an official tutorial.

+0

Квадрат вы имеете в виду? –

+1

@MAfifi Нет, прямоугольная. Можно использовать 16 x 9, например, с помощью 'object [,]' –

+0

Код форматирования, такой как код, будет приятным. – mmdemirbas

Смежные вопросы