Как считать данные из файла в строковый двумерный массив?

Имеется файл с множеством строк (их количество заранее неизвестно). Как их всех перезаписать в двумерный строковый массив?

Пример текстового файла

  • 1 1 1 1
  • 2 2 2 2
  • 3 3 3 3

Ответы (1 шт):

Автор решения: A K

Я не уверен, что вы имеете ввиду, что в начале строки стоит буллет (похоже, что просто хотели оформить переводы строки), но в целом за основу возьмите такой код:

private string[][] ReadFromFile(string filename)
{
    var lines = File.ReadAllLines(filename);
    var result = new List<string[]>();
    foreach (var line in lines)
    {
        var items = line.Split(' ', StringSplitOptions.RemoveEmptyEntries);
        result.Add(items);
    }
    return result.ToArray();
}

введите сюда описание изображения

Тут мне не захотелось дважды итерировать lines (первый - найти общее число строк, второй - собственно заполнять массив), поэтому я использовал List, который потом просто преобразовал через .ToArray() к требуемой структуре данных.

Если надо сразу объявить массив и оперировать только массивами - тогда не избежать двойного обхода.

→ Ссылка