С# Необходимо перевести данные, сначала из файла в 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 шт):

Автор решения: Asid Burn

Если вдруг у кого-то возникнет такая же проблема:

while (!streamReader.EndOfStream) //Цикл длиться пока не будет достигнут конец файла
        {
            str += streamReader.ReadLine();//В переменную str построчно записываем содержимое файла
        }
        int[] arr = InputBox_3.Text.Split(new char[] { ' ', '\n' }).Select(x => int.Parse(x)).ToArray();
→ Ссылка