(порядок - другой):
---автомобиль: транспортное средство
---Первый способ---
Здание: жилое помещение
Автомобиль: транспортное средство
Яблоко: съедобный фрукт
Книга: набор печатных слов
Трактор: сельскохозяйственная машина
---Второй способ---
Здание: жилое помещение
Автомобиль: транспортное средство
Яблоко: съедобный фрукт
Книга: набор печатных слов
Класс SortedList
Класс SortedList предназначен для создания коллекции, которая хранит пары ключ/значение в упорядоченном виде, а именно отсортированы по ключу.
Класс SortedList реализует интерфейсы:
• ICollection,
• IEnumerable,
• ICloneable.
Конструктор:
Public SortedList( )
Наиболее употребимые методы класса SortedList
Метод | Описание |
public virtual bool ContainsKey (object key) | Возвращает значение true, если в вызывающей SortedList-коллекции содержится ключ, заданный параметром key. В противном случае возвратит значение false |
public virtual bool ContainsValue( object value) | Возвращает значение true, если в вызывающей SortedList-коллекции содержится значение, заданное параметром value. Иначе – false. |
public virtual object GetBylndex(int idx) | Возвращает значение, индекс которого задан параметром idx |
public virtual IDictionaryEnumerator GetEnumerator () | Возвращает нумератор типа IDictionaryEnumerator для вызывающей SortedList-коллекции |
public virtual object GetKey (int idx) | Возвращает ключ, индекс которого задан параметром idx |
public virtual IList GetKeyList() | Возвращает IList- коллекцию ключей, хранимых в вызывающей SortedList-коллекции |
public virtual IList GetValueList() | Возвращает IList-коллекцию значений, хранимых в вызывающей SortedList-коллекции |
public virtual int IndexOfKey (object key) | Возвращает индекс ключа, заданного параметром key. Возвращает значение -1, если в списке нет заданного ключа |
public virtual int IndexOfValue ( object value) | Возвращает индекс первого вхождения значения, заданного параметром value. Возвращает -1, если в списке нет заданного ключа |
public virtual void SetBylndex(int idx, object value) | Устанавливает значение по индексу, заданному параметром idx, равным значению, переданному в параметре value |
public static SortedList Synchronized( SortedList sl) | Возвращает синхронизированную версию SortedList-коллекции, переданной в параметре sl |
public virtual void TrimToSize() | Устанавливает свойство capacity равным значению свойства Count |
В классе определены индексатор
this[ключ] {get; set;}
Объекты коллекции нумеруются, начиная с 0.
Получить предназначенную только для чтения коллекцию ключей или значений, хранимых в SortedList-коллекции, можно с помощью таких свойств:
public virtual ICollection Keys { get; }
public virtual ICollection Values { get; }
Порядок следования ключей и значений в полученных коллекциях отражает порядок SortedList-коллекции.
Подобно Hashtable-коллекции, SortedList-список хранит пары ключ/значение в форме структуры типа DictionaryEntry, но с помощью методов и свойств, определенных в классе SortedList, программисты обычно получают отдельный доступ к ключам и значениям.
// Демонстрация SortedList-коллекции.
using System ;
using System.Collections ;
Class SLDemo
{
public static void Main()
{
// Создаем упорядоченную коллекцию типа SortedList.
SortedList sl = new SortedList();
// Добавляем в список элементы.
sl.Add ("здание", "жилое помещение");
sl.Add ("книга", "набор печатных слов");
sl.Add ("яблоко", "съедобный фрукт");
sl.Add ("автомобиль", "транспортное средство");
// Добавляем элементы с помощью индексатора.
sl ["трактор"] = "сельскохозяйственная машина";
// Извлекаем элемент по ключу.
string value = (string) sl ["автомобиль"];
Console.WriteLine ("---по ключу: " + value);
Console.WriteLine ("---по индексу: " + sl.GetByIndex(3));
// Получаем коллекцию ключей.
ICollection с = sl.Keys;
// Используем ключи для получения значений.
Console.WriteLine("\n--Содержимое списка, полученное "
+ "с помощью индексатора.");
foreach (string str in с)
Console.WriteLine(str + ": " + sl[str]);
sl.Remove("трактор"); // Удалить элемент
// Отображаем список, используя целочисленные индексы.
Console.WriteLine("\n--Содержимое списка, полученное "
+ "с помощью целочисленных индексов.");
for (int i = 0; i < sl.Count; i++)
Console.WriteLine(sl.GetByIndex(i));
// Отображаем целочисленные индексы элементов списка.
Console.WriteLine("\n --Целочисленные индексы" +
" элементов списка.");
foreach (string str in с)
Console.WriteLine(str + ": " + sl.IndexOfKey(str));
}
}
Результаты выполнения этой программы таковы (отсортировано):
---по ключу: транспортное средство
---по индексу: сельскохозяйственная машина
--Содержимое списка, полученное с помощью индексатора.
Дата: 2019-02-02, просмотров: 248.