Заполнить многомерный массив символами из файла C# - PullRequest
0 голосов
/ 13 апреля 2020

Итак, я написал код ниже, чтобы заполнить мою многомерную доску символами, которые я прочитал из файла с именем String. Пример, если мой файл:
abc (новая строка) def массив таблиц должен быть заполнен: {{'a', 'b', 'c'}, {'d', 'e', 'f'}} (размер доски равен [counter, length])

Код:

char[,] board = new char[counter, length];

int k = 0;

while (((line = file.ReadLine()) != null) && (k < counter))
{
    char[] characters = line.ToCharArray();
    int l = 0;
    while (l < length)
    {
        foreach (char ch in characters)
        {
            board[k, l] = ch;
        }

        l++;
    }
    k++;
}

1 Ответ

1 голос
/ 13 апреля 2020

Не видел сразу, но проблема в том, что для l oop в то время как (l <длина) l oop. </p>

Для l oop перебирает символы в строка, но l не изменяется во время этой итерации.

Фиксированная версия вашего кода выглядит следующим образом.

Примечание: строка уже является последовательностью char s, поэтому вы не нужно конвертировать его ToCharArray ().

char[,] board = new char[counter, length];

int k = 0;

while (((line = file.ReadLine()) != null) && (k < counter))
{
    int l = 0;
    while (l < length)
    {
        // line is a string and we can access its characters with indexing
        board[k, l] = line[l];
        l++;
    }
    k++;
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...