В словаре нет метода сортировки. Если нам нужно перебрать
Содержимое словаря в отсортированном порядке, мы должны отдельно приобрести
элементы и сортировать их. Это делается с помощью ключей и значений
свойства и экземпляр List.
Сортировка ключей
Этот пример решает проблему с помощью свойства Keys на
Экземпляр словаря, а затем метод расширения ToList и сортировка
метод экземпляра.
Сначала создается пример словаря, который заполняется кнопкой Добавить.
Способ; затем в ключах используются методы ToList и Sort;
наконец, результирующий список проходит через цикл foreach.
построить. Также обратите внимание на то, как ключевое слово var implicit typed
используется повсеместно, чтобы уменьшить синтаксическую избыточность.
Программа, которая сортирует ключи в словаре [C #]
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// Create dictionary and add five keys and values.
var dictionary = new Dictionary<string, int>();
dictionary.Add("car", 2);
dictionary.Add("apple", 1);
dictionary.Add("zebra", 0);
dictionary.Add("mouse", 5);
dictionary.Add("year", 3);
// Acquire keys and sort them.
var list = dictionary.Keys.ToList();
list.Sort();
// Loop through keys.
foreach (var key in list)
{
Console.WriteLine("{0}: {1}", key, dictionary[key]);
}
}
}
выход
apple: 1
car: 2
mouse: 5
year: 3
zebra: 0
Сортировка значений
Далее мы покажем, как сортировать значения в словаре. Мы видим консоль
Программа, которую вы можете скомпилировать в Visual Studio и запустить. Это добавляет ключи к
Словарь, а затем сортирует их по значениям. Помни что
Экземпляры словаря изначально никак не сортируются. Мы используем
Ключевое слово LINQ orderby в запросе.
OrderBy Clause Программа, которая сортирует словарь [C #]
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// Example dictionary.
var dictionary = new Dictionary<string, int>(5);
dictionary.Add("cat", 1);
dictionary.Add("dog", 0);
dictionary.Add("mouse", 5);
dictionary.Add("eel", 3);
dictionary.Add("programmer", 2);
// Order by values.
// ... Use LINQ to specify sorting by value.
var items = from pair in dictionary
orderby pair.Value ascending
select pair;
// Display results.
foreach (KeyValuePair<string, int> pair in items)
{
Console.WriteLine("{0}: {1}", pair.Key, pair.Value);
}
// Reverse sort.
// ... Can be looped over in the same way as above.
items = from pair in dictionary
orderby pair.Value descending
select pair;
}
}
выход
dog: 0
cat: 1
programmer: 2
eel: 3
mouse: 5
по убыванию ключевого слова
по убыванию
var items = from pair in dictionary
orderby pair.Value descending
select pair;
Пример вывода
mouse: 5
eel: 3
programmer: 2
cat: 1
dog: 0