Коллекции, в которых хранятся пары ключ/значение, используют для их хранения объект типа DictionaryEntry.


В этой структуре определены следующие свойства:

public object Key { get; set; }

public object Value { get; set; }

Эти свойства используются для получения доступа к ключу или к соответствующему ему значению.

Объект типа DictionaryEntry можно создать с помощью следующего конструктора:

Public DictionaryEntry (object key, object value)

Здесь параметр key принимает ключ,

А параметр value — значение.

Интерфейс IComparer

Этот интерфейс можно использовать для задания способа сортировки элементов коллекции. В интерфейсе IComparer определен метод Compare(), который позволяет сравнивать два объекта:

Int Compare (object v1, object v2)

Метод Compare() возвращает положительное число, если значение v1>v2, отрицательное, если v1<v2, и нуль, если v1=v2.

Интерфейс IHashCodeProvider

Интерфейс IHashCodeProvider должен быть реализован коллекцией, если программисту необходимо определить собственную версию метода GetHashCode(). По умолчанию используется метод Object.GetHashCode().


КОЛЛЕКЦИИ

Классы коллекций общего назначения

Класс Описание
ArrayList Динамический массив, т.е. массив который при необходимости может увеличивать свой размер.
Hashtable Хеш-таблица (словарь) для пар ключ/значение.
Queue Очередь, или список, действующий по принципу: первым прибыл — первым обслужен.
SortedList Отсортированный список пар ключ/значение.
Stack Стек, или список, действующий по принципу: первым прибыл — последним обслужен.

Класс ArrayList

Класс ArrayList предназначен для поддержки динамических массивов, которые при необходимости могут увеличиваться или сокращаться.

Класс ArrayList реализует интерфейсы:

• ICollection,

• IList,

• lEnumerable,

• ICloneable.

// Демонстрация использования ArrayList-массива.

using System;

using System.Collections;

Class ArrayListDemp

{

Public static void Main()

{

ArrayList al = new ArrayList(); // Создаем динамический массив.

// Добавляем элементы в динамический массив.

al.Add('C');

al.Add('A');

al.Add('E');

// Отображаем массив, используя индексацию.

for (int i = 0; i < al.Count; i++)

Console.Write(al[i] + " ");

Al.Remove('A'); // Удаляем элемент

al[0] = 'Y'; // Изменяем элементы

al[1] = 'X';

Al.Sort(); // Сортировка массива

Foreach (char сh in al)

Console.Write(сh + " ");

Console.WriteLine("Индекс элемента 'Y' равен " +

Al.BinarySearch('Y')); // поиск элемента

// Создаем обычный массив из динамического.

char[] ia = (char[])al.ToArray (typeof(char));

}

}

Класс Queue

Добавление элементов в очередь и удаление их из нее осуществляется по принципу "первым пришел — первым обслужен" (first-in, first-out— FIFO).

Очередь — это ди­намическая коллекция, которая при необходимости увеличивается, чтобы принять для хранения новые элементы.

Класс Queue реализует интерфейсы:

• ICollection (здесь определено свойство int Count {get;} ),

• lEnumerable,

• ICloneable.



Дата добавления: 2019-02-08; просмотров: 763;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.