С# Необходимо перевести данные, сначала из файла в sting, а затем массив int
Есть .txt файл, нам необходимо считать из него данные, и перевести эти данные в массив данных типа int.
Данные в файле представленные в виде матрицы и разделены пробелом и переводом строки.
Причём в первой строке находиться число обозначающее количество вершин.
Также необходимо, чтобы при отсутствии разделения строк, программа не выдавала ошибку, а считывала данные так же.
К примеру содержание .txt:
3
0 10 0
5 0 18
0 19 0
или
3 0 10 0 5 0 18 0 19 0.
И необходимо получить массив int[ ] = 3,0,10,0,5,0,18,0,19,0;
Я убил не один час в поиске решения, но всё ещё не нашёл, чтобы удовлетворяло потребности куратора.
Есть вариант, но он был сделан для однозначных чисел, там необходимо добавить разделитель между двумя числами.
И есть вариант где данные просто представлены в виде строки.
Если в виде матрицы, но числа однозначные и без разделителя.
while (!streamReader.EndOfStream) //Цикл длиться пока не будет достигнут конец файла
{
str += streamReader.ReadLine();//В переменную str построчно записываем содержимое файла
}
И если в виде строки и разделителем является пробел.
int[] arr = InputBox_3.Text.Split(' ').Where(x => !string.IsNullOrWhiteSpace( x )).Select(x => int.Parse(x)).ToArray();
Ответы (1 шт):
Если вдруг у кого-то возникнет такая же проблема:
while (!streamReader.EndOfStream) //Цикл длиться пока не будет достигнут конец файла
{
str += streamReader.ReadLine();//В переменную str построчно записываем содержимое файла
}
int[] arr = InputBox_3.Text.Split(new char[] { ' ', '\n' }).Select(x => int.Parse(x)).ToArray();