Вопрос о массивах в C # - PullRequest
0 голосов
/ 18 августа 2011

У меня есть массив что-то вроде этого:

   int[,] multiDimensionalArray2 = { { 1, 2 }, { 4, 5 } };

если я хочу получить 1 и 2 и вставить их в это:

int a;
int b;

Как мне это сделать?

Это что-то вроде этого:

multiDimensionalArray2[0,0]

Что если бы я хотел поместить больше чисел в одну и ту же форму, например, { { 2, 1 }, { 4, 1 } };, в том же виде, что и выше ... будет ли это примерно так:

   int[,] multiDimensionalArray2 = { { 1, 2 }, { 4, 5 } },{ { 2, 1 }, { 4, 1 } };

Чтобы получить второй набор, я бы сделал это, multiDimensionalArray2 [1,1]

Ответы [ 4 ]

0 голосов
/ 18 августа 2011

Если у вас есть многомерный массив, подобный тому, который вы дали,

int[,] multiDimensionalArray2 = { { 1, 2 }, { 4, 5 }, { 2, 1 }, { 4, 1 } };

Мы хотим получить индекс числа 5. Для этого нам понадобятся два индекса, [a, b]

Index a - это индекс "группы чисел", которую вы хотите получить. Сначала посмотрите, в какую группу он входит. Первая группа (индекс 0) содержит 1 и 2, вторая группа (индекс 1) содержит 4 и 5. Поэтому a = 1.

Index b - это индекс «позиции в группе», которую вы хотите получить. В группе {4, 5} номер 5 является первым элементом (индекс 0). Therfore b = 0.

Это означает, что число 5 можно найти в multiDimensionalArray2 [1,0]

0 голосов
/ 18 августа 2011

Массивы двойного измерения хранятся вот так (представьте себе в уме) в соответствии с вашим примером

Row0  Row1 
1       2
4       5
2       1
4       1

Теперь следуйте советам Доминика.

0 голосов
/ 18 августа 2011

Чао, я ищу документы на сайте MSDN для вас, вы должны попробовать, если хотите.

Вот как я вижу на MSDN

Список <>> Словарь <>

Полагаю, это работает и для вашей проблемы, оно может динамически увеличиваться или уменьшаться. говорят, что использование обобщенных классов может быть лучше, но я не уверен, должно ли это быть быстрее или нет.

0 голосов
/ 18 августа 2011

Вы близки, чтобы получить первые номера, попробуйте это

        var a = multiDimensionalArray2[0, 0]; // x == 1
        var b = multiDimensionalArray2[0, 1]; // x == 2

Вы попробовали, и это не сработало? Вы заметите, что пользователи SO будут поощрять вас сначала пробовать и ошибаться. Возвращайся, когда ударишься о стену:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...