Как правильно сортировать список по возрастанию

  • Автор темы Автор темы TopFlow
  • Дата начала Дата начала

TopFlow

Client
Регистрация
24.06.2020
Сообщения
59
Реакции
12
Баллы
8
Добрый день

Нужно отсортировать список по возрастанию что бы треки шли по порядку 1. - 2. - 3.- и тд
 

Вложения

  • Screenshot 2023-01-12 at 12.14.19.png
    Screenshot 2023-01-12 at 12.14.19.png
    567,7 KB · Просмотры: 176
В цикле разбить регуляркой на 2 или 3 столбца. Добавить в таблицу. Отсортировать. Соединить обратно в список.
 
Добрый день

Нужно отсортировать список по возрастанию что бы треки шли по порядку 1. - 2. - 3.- и тд
C#:
Развернуть Свернуть Копировать
string path = @"tracks.txt";//Свой путь

var lines = System.IO.File.ReadLines(path);   

List<string> myracks = lines.OrderBy(line => line).ToList();   

foreach(var t in myracks)
{
   project.SendInfoToLog(t);
}
Попробуйте так
 
Добрый день

Нужно отсортировать список по возрастанию что бы треки шли по порядку 1. - 2. - 3.- и тд
Вот тут обсуждалось, с методами решения:
 
C#:
Развернуть Свернуть Копировать
string path = @"tracks.txt";//Свой путь

var lines = System.IO.File.ReadLines(path);  

List<string> myracks = lines.OrderBy(line => line).ToList();  

foreach(var t in myracks)
{
   project.SendInfoToLog(t);
}
Попробуйте так

Спасибо! А если список не из файла а созданный в проекте (tracks) ? как прописать
 
Спасибо! А если список не из файла а созданный в проекте (tracks) ? как прописать
C#:
Развернуть Свернуть Копировать
List<string>  tracks = new List<string>();
tracks.Add("5");
tracks.Add("3");
tracks.Add("2");

List<string> newtracks = tracks.OrderBy(line => line).ToList(); 

foreach(var t in newtracks)
{
   project.SendInfoToLog(t);
}
 
C#:
Развернуть Свернуть Копировать
List<string>  tracks = new List<string>();
tracks.Add("5");
tracks.Add("3");
tracks.Add("2");

List<string> newtracks = tracks.OrderBy(line => line).ToList();

foreach(var t in newtracks)
{
   project.SendInfoToLog(t);
}

Такая сортировка не решит проблему, чтобы нормально отсортировать числа, нужна их преобразовать из типа string в тип int(или другой числовой тип)

Такая сортировка будет лучше работать, sergodjan66 скинул хорошие примеры.
C#:
Развернуть Свернуть Копировать
List<string> tracks = new List<string>();
tracks.Add("track\\3. - Bla bla");
tracks.Add("track\\1. - Bla bla");
tracks.Add("track\\10. - Bla bla");
tracks.Add("track\\2. - Bla bla");
tracks.Add("track\\25. - Bla bla");


List<string> newtracks = tracks.OrderBy(track => int.Parse(Regex.Match(track, @"(?<=track\\).*?(\d+)").Value)).ToList();

foreach (var t in newtracks)
{
    project.SendInfoToLog(t);
}
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)