В интерфейсеICollectionопределяются перечисленные ниже свойства. СвойствоCountиспользуется чаще всего, поскольку оно содержит количество элементов, хранящихся в коллекции на данный момент. Если значение свойстваCountравно нулю, то коллекция считается пустой.
В интерфейсеICollectionопределяется следующий метод.
void CopyTo(Array
Свойство Назначение
int Count { get; } Содержит количество элементов в коллекции на дан
ный момент
bool isSynchronized { get; } Принимает .логическое значение true, если коллек
ция синхронизирована, а иначе — логическое значение false. По умолчанию коллекции не синхронизированы. Но для большинства коллекций можно получить синхронизированный вариант object SyncRoot { get; } Содержит объект, для которого коллекция может
_быть синхронизирована_
МетодCopyTo копирует содержимое коллекции в массив
Благодаря тому что интерфейсICollectionнаследует от интерфейсаI Enumerable,в его состав входит также единственный метод, определенный в интерфейсеIEnumerable.Это методGetEnumerator , объявляемый следующим образом.
IEnumerator GetEnumerator
Он возвращает перечислитель для коллекции.
Вследствие того же наследования от интерфейсаIEnumerableв интерфейсеICollectionопределяются также четыре следующих метода расширения:AsParallel,AsQueryable,Cast иOf Type. В частности, методAsParallel объявляется в классеSystem. Linq. ParallelEnumerable,методAsQueryable—в классеSystem. Linq. Queryable,а методыCast иOf Type — в классеSystem. Linq.Enumerable.Эти методы предназначены главным образом для поддержки LINQ, хотя их можно применять и в других целях.
Интерфейс IList
В интерфейсеIListобъявляется такое поведение необобщенной коллекции, которое позволяет осуществлять доступ к ее элементам по индексу с отсчетом от нуля. Этот интерфейс наследует от интерфейсовICollectionиIEnumerable.Помимо методов, определенных в этих интерфейсах, в интерфейсеIListопределяется ряд собственных методов. Все эти методы сведены в табл. 25.2. В некоторых из них предусматривается модификация коллекции. Если же коллекция доступна только для чтения или имеет фиксированный размер, то в этих методах генерируется исключениеNotSupportedException.
Tafuuiia 9fv9_ Мртплы пппрлрлрнныр r интрпгЬрйпр TLisI-
Метод
Описание
int Add(object
bool Contains(object
Добавляет объект
Удаляет все элементы из вызывающей коллекции Возвращает логическое значение true, если вызывающая коллекция содержит объект
Метод
Описание
int IndexOf(object
void Insert (int
void Remove(object
void RemoveAt(int