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

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

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

Задача

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

но

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

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

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

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


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

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

11   голосов , оценка 4.182 из 5
Похожие ответы