Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Реалізація інтерфейсу IComparer

Реферат Реалізація інтерфейсу IComparer





Collection, ICollection lt; KeyValuePair lt; TKey, TValue gt; gt ;, IEnumerable і IEnumerable lt; KeyValuePair lt; TKey, TValue gt; gt ;. У класі SortedDictionary lt; TKey, TValue gt; надаються також наступні конструктори:

SortedDictionary () SortedDictionary (IDictionary lt; TKey, TValue gt; dictionary) SortedDictionary (IComparer lt; TKey gt; comparer) SortedDictionary (IDictionary lt; TKey, TValue gt; dictionary, IComparer lt; TKey gt; comparer)


У першому конструкторі створюється порожній словник, у другому конструкторі - словник з вказаною кількістю елементів dictionary. У третьому конструкторі допускається вказувати за допомогою параметра comparer типу IComparer спосіб порівняння, використовуваний для сортування, а в четвертому конструкторі - ініціалізувати словник, крім вказівки способу порівняння. [2]

У класі SortedDictionary lt; TKey, TValue gt; визначено ряд методів. Деякі найбільш часто використовувані методи цього класу наведено нижче: [2] ()

Додає в словник пару ключ-значення raquo ;, що визначається параметрами key і value. Якщо ключ key вже знаходиться в словнику, то його значення не змінюється, і генерується виключення ArgumentException ()

Повертає логічне значення true, якщо викликає словник містить об'єкт key в якості ключа; в іншому випадку - логічне значення false ()

Повертає логічне значення true, якщо викликає словник містить значення value, в іншому випадку - логічне значення false ()

Видаляє ключ key зі словника. При вдалому результаті операції повертається логічне значення true, а якщо ключ key немає у словнику - логічне значення false

Слід мати на увазі, що ключі і значення, що містяться в колекції, доступні окремими списками за допомогою властивостей Keys і Values. У колекціях типу SortedDictionary lt; TKey, TValue gt; .KeyCollection і SortedDictionary lt; TKey, TValue gt; .ValueCollection реалізуються як узагальнені, так і неузагальнених форми інтерфейсів ICollection і IEnumerable. [6]

І нарешті, в класі SortedDictionary lt; TKey, TValue gt; реалізується наведений нижче індексатор, визначений в інтерфейсі IDictionary lt; TKey, TValue gt;:

TValue this [TKey key] {get; set; }


Цей індексатор служить для отримання і установки значення елемента колекції, а також для додавання в колекцію нового елемента. Але в даному випадку в якості індексу служить ключ елемента, а не сам індекс.



. Паралельні колекції


У версію 4.0 середовища .NET Framework додано новий простір імен System.Collections.Concurrent. Воно містить колекції, які є потокобезпечна і спеціально призначені для паралельного програмування. Це означає, що вони можуть безпечно використовуватися в многопоточной програмі, де можливий одночасний доступ до колекції з боку двох або більше паралельно виконуваних потоків. Для безпечного відносно потоків доступу до колекцій визначений інтерфейс IProducerConsumerCollection lt; T gt ;. Найбільш важливими методами цього інтерфейсу є TryAdd () і TryTake (). Метод TryAdd () намагається додати елемент в колекцію, але це може не вийти, якщо колекція заблокована від додавання елементів. Метод повертає булевское значення, що повідомляє про успіх чи невдачу операції. [2] () працює аналогічним чином, інформуючи викликає код про успіх чи невдачу, і в разі успіху повертає елемент з колекції. Нижче перераховані класи з простору імен System.Collections.Concurrent з коротким описом їх функціональності: lt; T gt;

Цей клас колекції реалізований з вільним від блокувань алгоритмом і використовує 32 масиву, які внутрішньо скомбіновані в зв'язний список. Для доступу до елементів черги застосовуються методи Enqueue (), TryDequeue () і TryPeek (). Імена цих методів дуже схожі на вже відомі методи Queue lt; T gt ;, але з додаванням префікса Try до тих з них, які можуть дати збій. Оскільки цей клас реалізує інтерфейс IProducerConsumerCollection lt; T gt ;, методи TryAdd () і TryTake () просто викликають Enqueue () і TryDequeue (). [6] lt; T gt;

Дуже схожий на ConcurrentQueue lt; T gt ;, але з іншими методами доступу до елементів. Клас ConcurrentStack lt; T gt; визначає методи Push (), PushRange (), TryPeek (), TryPop () і TryPopRange (). Усередині цей клас використовує зв'язний список для зберігання елементів. [2] lt; T gt;

Цей клас не визначає ніякого порядку для додавання або вилучення елементів. Він реалізує концепцію відображення потоків на використовувані внутрішньо масиви, і намагається уникнути блокувань. Для доступу до елементів застосовуються методи Add (), TryPeek () і TryTake (). ...


Назад | сторінка 11 з 21 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Загальний білок, його значення і методи визначення
  • Реферат на тему: Збір трав'янистих рослин, комах ентомологичеськой колекції, тварин коле ...
  • Реферат на тему: Значення та аналіз Копійчаної потоків ПІДПРИЄМСТВА
  • Реферат на тему: Архаїчне Значення слів у словнику української мови
  • Реферат на тему: Сутність і значення обслуговування покупців в магазині. Характеристика еле ...