Герберт Шилдт - C# 4.0 полное руководство - 2011

Тут можно читать онлайн Герберт Шилдт - C# 4.0 полное руководство - 2011 - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая старинная литература. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Герберт Шилдт - C# 4.0 полное руководство - 2011 краткое содержание

C# 4.0 полное руководство - 2011 - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

C# 4.0 полное руководство - 2011 - читать онлайн бесплатно полную версию (весь текст целиком)

C# 4.0 полное руководство - 2011 - читать книгу онлайн бесплатно, автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Кроме того, в интерфейсе IList определяется следующий индексатор.

object this[int index] { get; set; }

Этот индексатор служит для получения и установки значения элемента коллекции. Но его нельзя использовать для добавления в коллекцию нового элемента. С этой целью обычно вызывается метод Add (). Как только элемент будет добавлен в коллекцию, он станет доступным посредством индексатора.

Интерфейс IDictionary

В интерфейсе IDictionary определяется такое поведение необобщенной коллекции, которое позволяет преобразовать уникальные ключи в соответствующие значения. Ключ представляет собой объект, с помощью которого значение извлекается впоследствии. Следовательно, в коллекции, реализующей интерфейс IDictionary, хранятся пары "ключ-значение". Как только подобная пара будет сохранена, ее можно извлечь с помощью ключа. Интерфейс IDictionary наследует от интерфейсов ICollection и IEnumerable. Методы, объявленные в интерфейсе IDictionary, сведены в табл. 25.3. Некоторые из них генерируют исключение ArgumentNullException при попытке указать пустой ключ, поскольку пустые ключи не допускаются.

Таблица 25.3. Методы, определенные в интерфейсе IDictionary

Метод

Описание

void Add(object key,

Добавляет в вызывающую коллекцию пару “ключ-

object value)

значение", определяемую параметрами key и value

void Clear()

Удаляет все пары “ключ-значение” из вызывающей коллекции

bool Contains(object key)

Возвращает логическое значение true,если вызывающая коллекция содержит объект key в качестве ключа, в противном случае — логическое значение false

IDictionaryEnumerator

Возвращает перечислитель для вызывающей коллек

GetEnumerator()

ции

void Remove(object key)

Удаляет из коллекции элемент, ключ которого равен значению параметра key

Для добавления пары "ключ-значение" в коллекцию типа IDictionary служит метод Add (). Обратите внимание на то, что ключ и его значение указываются отдельно. А для удаления элемента из коллекции следует указать ключ этого объекта при вызове метода Remove (). И для опорожнения коллекции вызывается метод Clear () .

Для того чтобы выяснить, содержит ли коллекция конкретный объект, вызывается метод Contains () с указанным ключом искомого элемента. С помощью метода GetEnumerator () получается перечислитель, совместимый с коллекцией типа IDictionary. Этот перечислитель оперирует парами "ключ-значение".

В интерфейсе IDictionary определяются перечисленные ниже свойства.

Свойство

Назначение

bool IsFixedSize

{ get; }

Принимает логическое значение true,если словарь имеет фиксированный размер

bool IsReadOnly {

get; }

Принимает логическое значение true,если словарь доступен только для чтения

ICollection Keys

{ get; }

Получает коллекцию ключей

ICollection Values

{ get; }

Получает коллекцию значений

Следует иметь в виду, что ключи и значения, содержащиеся в коллекции, доступны в отдельных списках с помощью свойств Keys и Values.

Кроме того, в интерфейсе IDictionary определяется следующий индексатор.

object this[object key] { get; set; }

Этот индексатор служит для получения и установки значения элемента коллекции, а также для добавления в коллекцию нового элемента. Но в качестве индекса в данном случае служит ключ элемента, а не собственно индекс.

Интерфейсы IEnumerable, IEnumerator и IDictionaryEnumerator

Интерфейс IEnumerable является необобщенным, и поэтому он должен быть реализован в классе для поддержки перечислителей. Как пояснялось выше, интерфейс IEnumerable реализуется во всех классах необобщенных коллекций, поскольку он наследуется интерфейсом ICollection. Ниже приведен единственный метод GetEnumerator () , определяемый в интерфейсе IEnumerable.

IEnumerator GetEnumerator()

Он возвращает коллекцию. Благодаря реализации интерфейса IEnumerable можно также получать содержимое коллекции в цикле foreach.

В интерфейсе IEnumerator определяются функции перечислителя. С помощью методов этого интерфейса можно циклически обращаться к содержимому коллекции. Если в коллекции содержатся пары "ключ-значение" (словари), то метод GetEnumerator () возвращает объект типа IDictionaryEnumerator, а не типа IEnumerator. Интерфейс IDictionaryEnumerator наследует от интерфейса IEnumerator и вводит дополнительные функции, упрощающие перечисление словарей.

В интерфейсе IEnumerator определяются также методы MoveNext () и Reset () и свойство Current. Способы их применения подробнее описываются далее в этой главе. А до тех пор следует отметить, что свойство Current содержит элемент, получаемый в текущий момент. Метод MoveNext () осуществляет переход к следующему элементу коллекции, а метод Reset () возобновляет перечисление с самого начала.

Интерфейсы IComparer и IEqualityComparer

В интерфейсе IComparer определяется метод Compare () для сравнения двух объектов.

int Compare(object х, object у)

Он возвращает положительное значение, если значение объекта х больше, чем у объекта у; отрицательное — если значение объекта х меньше, чем у объекта у; и нулевое — если сравниваемые значения равны. Данный интерфейс можно использовать для указания способа сортировки элементов коллекции.

В интерфейсе IEqualityComparer определяются два метода.

bool Equals(object х, object у) int GetHashCode(object obj)

Метод Equals () возвращает логическое значение true, если значения объектов х и у равны. А метод GetHashCode () возвращает хеш-код для объекта obj.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0 полное руководство - 2011 отзывы


Отзывы читателей о книге C# 4.0 полное руководство - 2011, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x