Сортировка строк в текстовом файле - C#
Формулировка задачи:
Здравствуйте, необходимо решить следующую задачу:
Есть текстовый файл в котором данные хранятся в следующем виде
-50.00 -50.00 xxxx xxxx xxxx xxxx xxxx
-45.00 -50.00 xxxx xxxx xxxx xxxx xxxx
.............................................................
0.00 -50.00 xxxx xxxx xxxx xxxx xxxx
5.00 -50.00 xxxx xxxx xxxx xxxx xxxx
.............................................................
45.00 -50.00 xxxx xxxx xxxx xxxx xxxx
50.00 -50.00 xxxx xxxx xxxx xxxx xxxx
и далее
-50.00 -45.00 xxxx xxxx xxxx xxxx xxxx
.............................................................
.............................................................
50.00 50.00 xxxx xxxx xxxx xxxx xxxx
Дело в том что все эти строки хранятся в несортированном виде, а необходимо их отсортировать т.е. чтобы сначала шли строки у которых второй элемент равен +50, а первый от -50 до +50 и так далее. Иногда возможны пропуски т.е. например строки 50 50 ххххх хххх хххх может не существовать а последний вариант 45 50 хххх хххх хххх
Сортировку первичную вроде понятно как делать( по крайней мере в теории): создаем массив массивов и сортируем по второму элементу, а вот как потом отсортировать по первому не понятно...
Решение задачи: «Сортировка строк в текстовом файле»
textual
Листинг программы
var result = File.ReadAllLines(@"c:\c#\1.txt").OrderByDescending(x => double.Parse(x.Split(new char []{' ',' '})[6],System.Globalization.CultureInfo.InvariantCulture)) .ThenBy(x => double.Parse(x.Split(new char[]{' ',' ')[1], System.Globalization.CultureInfo.InvariantCulture)).ToList(); result.ForEach(Console.WriteLine); Console.ReadKey(true);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д