Сортировка списка List - C#

Узнай цену своей работы

Формулировка задачи:

Задача

- Получить отсортированный список полных имен файлов. Проблема в том, что когда файлы с однотипными названиями и номером на конце, сортировка проходит не так как хотелось бы. "*\файл 35.mp3" будет позже, чем "*\файл 34.mp3",

но

раньше, чем "*\файл 4.mp3" Т.Е. 39<4<40 Как исправить это? Часть кода:
Листинг программы
  1. folderBrowserDialog1.ShowDialog(); //Открыть окно указания папки
  2. FolderPath = folderBrowserDialog1.SelectedPath;
  3. if (FolderPath == "") return;
  4. List<string> Files = new List<string>();
  5. Files.AddRange(Directory.GetFiles(FolderPath, "*.mp3")); //Получение списка файлов
  6. Files.Sort();

Решение задачи: «Сортировка списка List»

textual
Листинг программы
  1. public class LogicalStringComparer : IComparer<string>
  2. {
  3.     [DllImport("shlwapi.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
  4.     static extern int StrCmpLogicalW(string x, string y);
  5.  
  6.     public int Compare(string x, string y)
  7.     {
  8.         return StrCmpLogicalW(x, y);
  9.     }
  10. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы