Преобразование массива строк в массив чисел - C#
Формулировка задачи:
Необходимо считать данные с текстового файла (много строк содержащих по 6 чисел через запятую) и в каждой из них отсортировать числа по возрастанию.
Вроде все норм, но не могу преобразовать массив строк в массив чисел.
Вот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace HomeTask_1
{
class MainClass
{
public static void Main (string[] args)
{
StreamReader reader = new StreamReader("C:\\Users\\1\\Desktop\\Комбинации.txt");
string allnum = Convert.ToString(reader);
string[] lines = allnum.Split ('\n');//разделяем текст на строки с числами
int[] numb = new int[5];//в каждой строке только 6 чисел
for (int i = 0; i < lines.Length; i++) {//в этом большом цикле
string[] numbers = lines [i].Split (' ');//мы разделяем первую строку на числа
for (int o = 0; o < lines.Length; o++){//конвертируем их в массив int
numb[i] = Convert.ToInt32(numbers[i]);//как раз здесь проблема
}
int[] readynum = BubbleSort (numb);//потом отправляем массив в функцию где первая строка будет отсортирована
StreamWriter writer = new StreamWriter("C:\\Users\\1\\Desktop\\Отсортировка.txt");//далее
for (int y = 0; y < lines.Length; y++) {//записываем отсортированные данные в другой файл
writer.WriteLine (readynum [i]);//тут возможно тоже ошибку выбьет, но пока ее нет
}
writer.Close();
}
}
public static int[] BubbleSort(int[] num)
{
for (int i = 0; i < num.Length; i++)
{
for (int j = 0; j < num.Length - 1; j++)
{
if (num[j] > num[j + 1])
{
int z = num[j];
num[j]=num[j+1];
num[j + 1] = z;
}
}
}
return num;
}
}
}Решение задачи: «Преобразование массива строк в массив чисел»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication37 {
class Program {
static void Main(string[] args) {
string s="";
File.ReadAllLines(@"C:\Test.txt").ToList().ForEach(i => s += i+ " ");
int[] arr = s.Split(new[] { ',', ' ', }, StringSplitOptions.RemoveEmptyEntries).Select(i => int.Parse(i)).ToArray();
Console.ReadLine();
}
}
}