SortedDictionary sortDict....
так не работает... sortDict.OrderBy(p => Path.GetExtension(p.Key))
У класса SortedDictionary<TKey,TValue>
есть конструктор, который принимает IComparer<T>
для сравнения ключей.
Таким образом, если мы напишем нужный нам компарер, мы можем определить порядок сортировки ключей в коллекции.
Ниже код компарера, который сначала сравнивает расширения файлов, потом, если расширения одинаковые, сравнивает имена файлов. Таким образом словарь будет сортировать ключи сначала по расширению файла, потом по имени файла
public class ExtensionComparer : IComparer<string>
{
public int Compare(string x, string y)
{
var ret = string.Compare(Path.GetExtension(x), Path.GetExtension(y));
if (ret != 0) return ret;
return string.Compare(x, y);
}
}
Как проверить:
var dict = new SortedDictionary<string, bool>(new ExtensionComparer());
dict.Add("file2.txt", false);
dict.Add("file1.txt", true);
dict.Add("file2.1xt", false);
dict.Add("file1.1xt", true);
foreach (var kv in dict)
Console.WriteLine($"{kv.Key} - {kv.Value}");
Вывод
file1.1xt - True
file2.1xt - False
file1.txt - True
file2.txt - False
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как достать записи из бд и динамически добавлять их в такой форме? Какой компонент использовать?
Делаю проект учебный - игру на unityВроде бы работала стрельба простая на RayCast'ах
Создаю бота для ВК используя Callback APIВсю основу уже сделал, есть БД, использую миграции
Как можно изменить chart doughnut ,чтобы он выглядел как на этой картинке? По умолчанию он выглядит как полный круг, на картинке же только половина...