Как отобразить все значения в 2D-массиве? - PullRequest
0 голосов
/ 13 марта 2020

У меня есть 2D-массив, в котором я хочу показать все данные внутри, например:

GridArry []:

[ 1, 6, 5, 7]
[ 6, 2, 8, 0]
[ 3, 7, 1, 5]

Это мой код:

gridArray = new int [Columns, Rows];
for(int i = 0; i < Columns; i++)
{
    for(int j = 0; j < Rows; j++)
    {
        gridArray[i, j] = Random.Range(0, 10);
        Debug.Log(gridArray.Length);
    }
}

1 Ответ

1 голос
/ 13 марта 2020

Есть много способов сделать это, однако вы можете использовать Метод итератора , чтобы получить каждую строку. Что облегчает использование string.Join в результате

Учитывая

public static IEnumerable<int> GetRow(int[,] array,int index)
{
   for (var i = 0; i <= array.GetUpperBound(0); i++)
      yield return array[i,index];
}

Использование

var test = new[,] { { 1, 2}, { 3, 4}, { 5, 6 }, { 7, 8 } };

for (var j = 0; j <= test.GetUpperBound(1); j++)
   Console.WriteLine("[" + string.Join(", " , GetRow(test,j)) + "]");

Вывод

[1, 3, 5, 7]
[2, 4, 6, 8]

Онлайн-демонстрация

Примечание : В зависимости от того, как вы определяете строку и столбец, вам может потребоваться изменить полярность, если честно, я не слишком много думал об этом


Дополнительные ресурсы

Метод Array.GetUpperBound (Int32)

Получает индекс последнего элемента указанного измерения в массиве .

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