Печать разных массивов в одном цикле - PullRequest
0 голосов
/ 22 марта 2019

У меня есть номер списка, каждый список преобразуется в массив, используя метод .ToArray().Размер каждого массива варьируется, а имена массивов: DataArray0, DataArray1, DataArray2 ------ DataArrayN.Я хочу напечатать значения этих массивов в цикле for так, чтобы мне не нужно было писать несколько операторов Console.WriteLine для каждого массива.

Есть ли какой-нибудь способ в C #, что я могу написать что-то вроде:

for (int jj = 0; jj < colCount; jj++)
{
    for (int jjj = 0; jjj < rowCount; jjj++)
    {
        Console.WriteLine(DataArray+[jj]+[jjj]);
    }
}

Я хочу, чтобы он сначала распечатывал данные для DataArray0, затем DataArray1 и так далее.Код только для лучшего понимания моего вопроса.Я знаю, что оператор печати выдаст ошибку.

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Вы должны создать массив массивов и добавить дополнительный цикл.

Затем напечатать элемент в некоторой позиции для каждого массива:

var arrays = new DataArray[] { DataArray0, DataArray1, ...} // use correct type

for (int jj = 0; jj < colCount; jj++)
{
    for (int jjj = 0; jjj < rowCount; jjj++)
    {
        for (var arrayIndex = 0; arrayIndex < arrays.Length; a++)
        {  
            Console.WriteLine(arrays[arrayIndex][jj][jjj]);
        }
    }
}

OR

Чтобы напечатать один массив за другим:

for (var arrayIndex = 0; arrayIndex < arrays.Length; a++)
{
    for (int jj = 0; jj < colCount; jj++)
    {
        for (int jjj = 0; jjj < rowCount; jjj++)
        {
            Console.WriteLine(arrays[arrayIndex][jj][jjj]);
        }
    }
}
0 голосов
/ 22 марта 2019

Итак, из того, что я понял, у вас есть список списков (или массивов, не имеет значения).

Вы можете перебирать их, используя foreach:

var list_of_lists = new List<List<int>>{
    new List<int>{1,2},
    new List<int>{3,4,5},

};

foreach (var item in list_of_lists)
{
    foreach (var nested_item in item)
    {
        Console.WriteLine(nested_item);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...