align="justify"> В якості першого аргументу методу передається позиція, в яку повинен бути поміщений новий елемент. Всі елементи колекції, що йдуть за цією позицією, будуть зрушені назад на одну позицію. [2]
Щоб видалити елемент, що має конкретне значення, можна використовувати метод:
Remove (object value);
Для видалення елемента за його індексом потрібно скористатися методом:
RemoveAt (int index);
Очистити колекцію можна за допомогою методу:
Clear ();
Якщо потрібно просто дізнатися, чи присутній в колекції елемент із заданим значенням, можна скористатися методом:
Contains (object value);
Якщо ж виникає завдання дізнатися індекс об'єкта в колекції, можна використовувати метод IndexOf ():
IndexOf (object value);
Властивість IsReadOnly дозволяє дізнатися, чи призначена колекція тільки для читання, тобто чи можна змінювати число елементів колекції і значення елементів. Властивість IsFixedSize допомагає дізнатися, чи можна змінювати число елементів колекції після її створення. [1]
Цей інтерфейс описує методи, які повинні бути у реалізацій абстракції «словник» (асоціативної колекції - зберігає пари ключ/значення). Нижче в таблиці 1.4 подано властивості інтерфейсу IDictionary, в таблиці 1.5 - методи інтерфейсу IDictionary. [1]
Таблиця 1.4 - Властивості інтерфейсу IDictionary
СвойствоОпісаніеIsFixedSizeПозволяет дізнатися, чи має дана реалізація IDictionary фіксований размер.IsReadOnlyПозволяет дізнатися, чи можна модифікувати коллекцію.KeysВозвращает посилання на колекцію (ICollection), що містить список ключів словаря.ValuesВозвращает посилання на колекцію (ICollection), що містить список значень словника.
Таблиця 1.5 - Методи інтерфейсу IDictionary
МетодОпісаніеAddПозволяет додати пару ключ/значення до словарю.ClearОчіщает вміст коллекціі.ContainsПозволяет визначити, чи містить колекція елемент із заданим ключом.GetEnumeratorВозвращает посилання на Нумератор словника - інтерфейс IDictionaryEnumerator.RemoveПозволяет видалити елемент із заданим ключем.
Хоча інтерфейс IDictionary оголошується похідним від Enumerable і перехід до наступного елементу може здійснюватися методом MoveNext, зазвичай така можливість не використовується - колекції, реалізують IDictionary, орієнтуються в першу чергу на звернення по ключу, а не на послідовний перебір елементів. З цієї причини інтерфейс IDictionary залежить від інтерфейсу IDictionaryEnumerator, який розширює Enumerator і доповнює його трьома новими властивостями :: повертає пару «ключ/значення» для поточного елемента словника .: повертає поточний ключ .: повертає посилання на поточне значення.
1
2. Неузагальнених колекції
неузагальнених колекції увійшли до складу середовища .NET Framework ще у версії 1.0. Вони визначаються в просторі імен System.Collections.
неузагальнених колекції представляють собою структури даних загального призначення, оперірующ?? е посиланнями на об'єкти. Таким чином, вони дозволяють маніпулювати об'єктом будь-якого типу, хоча і не типізований способом. У цьому полягає їх перевага і в той же час недолік. Завдяки тому, що неузагальнених колекції оперують посиланнями на об'єкти, в них можна зберігати різнотипні дані. Це зручно в тих випадках, коли потрібно маніпулювати сукупністю різнотипних об'єктів або ж коли типи зберігаються в колекції об'єктів заздалегідь невідомі. Але якщо колекція призначається для зберігання об'єкта конкретного типу, то неузагальнених колекції не забезпечують типову безпеку, яку можна виявити в узагальнених колекціях. [3]
неузагальнених колекції визначені в ряді інтерфейсів і класів, що реалізують ці інтерфейси. [2]
Інтерфейси неузагальнених колекцій
У просторі імен System.Collections визначено цілий ряд інтерфейсів неузагальнених колекцій. Починати розгляд неузагальнених колекцій слід саме з інтерфейсів, оскільки вони визначають функціональні можливості, які є загальними для всіх класів неузагальнених колекцій. Інтерфейси, що служать опорою для неузагальнених колекцій, зведені у таблиці 2. [2]
Таблиця 2 - Інтерфейси, використовувані в неузагальнених колекціях
ІнтерфейсОпісаніеICollectionОпределяет елементи, які повинні мати всі неузагальнених коллекцііIComparerОпределяет метод Compare () для порівняння об'єктів, що зберігаються в коллекцііIDictionaryОпределяет колекцію, що с...