Как считать данные из файла в строковый двумерный массив?
Имеется файл с множеством строк (их количество заранее неизвестно). Как их всех перезаписать в двумерный строковый массив?
Пример текстового файла
- 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() к требуемой структуре данных.
Если надо сразу объявить массив и оперировать только массивами - тогда не избежать двойного обхода.
