Класс SortedDictionary
Класс SortedDictionary<TKey, TValue>
держит ключи отсортированными по
IComparer<TKey>
или сравнению по умолчанию. Обход всегда
идёт по возрастанию ключа.
Синтаксис
SortedDictionary<TKey, TValue> map =
new SortedDictionary<TKey, TValue>();
Пример
Давайте добавить ключи не по порядку и обойти:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
SortedDictionary<int, string> map = new SortedDictionary<int, string>();
map.Add(3, "c");
map.Add(1, "a");
map.Add(2, "b");
List<int> keys = new List<int>();
foreach (KeyValuePair<int, string> pair in map)
{
keys.Add(pair.Key);
}
Console.WriteLine(string.Join(" ", keys));
}
}
Результат выполнения кода:
"1 2 3"
Пример
Давайте прочитать значение по ключу:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
SortedDictionary<int, string> map = new SortedDictionary<int, string>();
map.Add(4, "d");
Console.WriteLine(map[4]);
}
}
Результат выполнения кода:
"d"
Пример
Давайте вывести Count:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
SortedDictionary<int, string> map = new SortedDictionary<int, string>();
map.Add(1, "a");
map.Add(2, "b");
map.Add(3, "c");
map.Add(4, "d");
map.Add(5, "e");
Console.WriteLine(map.Count);
}
}
Результат выполнения кода:
5
Смотрите также
-
класс
SortedList,
который хранит пары в массивах -
класс
Dictionary,
который не сортирует ключи -
интерфейс
IComparer,
который задаёт порядок ключей -
класс
OrderedDictionary,
который сохраняет порядок вставки