Сортировка списка 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д