Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Класс List<T>

 

Опубликовано: Октябрь 2016

Представляет строго типизированный список объектов, доступных по индексу. Поддерживает методы для поиска по списку, выполнения сортировки и других операций со списками.

Просмотреть исходный код .NET Framework для этого типа Reference Source.

Пространство имен:   System.Collections.Generic
Сборка:  mscorlib (в mscorlib.dll)


[SerializableAttribute]
public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, 
	IEnumerable, IList, ICollection, IReadOnlyList<T>, IReadOnlyCollection<T>

Параметры типа

T

Тип элементов в списке.

ИмяОписание
System_CAPS_pubmethodList<T>()

Инициализирует новый экземпляр класса List<T>, который является пустым и имеет начальную емкость по умолчанию.

System_CAPS_pubmethodList<T>(IEnumerable<T>)

Инициализирует новый экземпляр List<T>, который содержит элементы, скопированные из указанной коллекции, и имеет емкость, достаточную для размещения всех скопированных элементов.

System_CAPS_pubmethodList<T>(Int32)

Инициализирует новый пустой экземпляр класса List<T> с указанной начальной емкостью.

ИмяОписание
System_CAPS_pubpropertyCapacity

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

System_CAPS_pubpropertyCount

Получает число элементов, содержащихся в интерфейсе List<T>.

System_CAPS_pubpropertyItem[Int32]

Возвращает или задает элемент по указанному индексу.

ИмяОписание
System_CAPS_pubmethodAdd(T)

Добавляет объект в конец очереди List<T>.

System_CAPS_pubmethodAddRange(IEnumerable<T>)

Добавляет элементы указанной коллекции в конец списка List<T>.

System_CAPS_pubmethodAsReadOnly()

Возвращает для текущей коллекции оболочку ReadOnlyCollection<T>, доступную только для чтения.

System_CAPS_pubmethodBinarySearch(T)

Выполняет поиск элемента по всему отсортированному списку List<T>, используя компаратор по умолчанию, и возвращает индекс элемента, отсчитываемый от нуля.

System_CAPS_pubmethodBinarySearch(T, IComparer<T>)

Выполняет поиск элемента по всему отсортированному списку List<T>, используя указанный компаратор, и возвращает индекс элемента, отсчитываемый от нуля.

System_CAPS_pubmethodBinarySearch(Int32, Int32, T, IComparer<T>)

Выполняет поиск элемента в диапазоне элементов отсортированного списка List<T>, используя указанную функцию сравнения, и возвращает индекс элемента, отсчитываемый от нуля.

System_CAPS_pubmethodClear()

Удаляет все элементы из коллекции List<T>.

System_CAPS_pubmethodContains(T)

Определяет, входит ли элемент в коллекцию List<T>.

System_CAPS_pubmethodConvertAll<TOutput>(Converter<T, TOutput>)

Преобразует элементы текущего списка List<T> в другой тип и возвращает список преобразованных элементов.

System_CAPS_pubmethodCopyTo(T[])

Копирует весь список List<T> в совместимый одномерный массив, начиная с первого элемента целевого массива.

System_CAPS_pubmethodCopyTo(T[], Int32)

Копирует List<T> целиком в совместимый одномерный массив, начиная с указанного индекса конечного массива.

System_CAPS_pubmethodCopyTo(Int32, T[], Int32, Int32)

Копирует диапазон элементов из списка List<T> в совместимый одномерный массив, начиная с указанного индекса конечного массива.

System_CAPS_pubmethodEquals(Object)

Определяет, равен ли заданный объект текущему объекту.(Наследуется от Object.)

System_CAPS_pubmethodExists(Predicate<T>)

Определяет, содержит ли List<T> элементы, удовлетворяющие условиям указанного предиката.

System_CAPS_protmethodFinalize()

Позволяет объекту попытаться освободить ресурсы и выполнить другие операции по очистке перед тем, как объект будет утилизирован сборщиком мусора. (Наследуется от Object.)

System_CAPS_pubmethodFind(Predicate<T>)

Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает первое найденное вхождение в пределах всего списка List<T>.

System_CAPS_pubmethodFindAll(Predicate<T>)

Извлекает все элементы, удовлетворяющие условиям указанного предиката.

System_CAPS_pubmethodFindIndex(Int32, Int32, Predicate<T>)

Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начинающемся с заданного индекса и содержащем указанное число элементов.

System_CAPS_pubmethodFindIndex(Int32, Predicate<T>)

Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начиная с заданного индекса и заканчивая последним элементом.

System_CAPS_pubmethodFindIndex(Predicate<T>)

Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс первого найденного вхождения в пределах всего списка List<T>.

System_CAPS_pubmethodFindLast(Predicate<T>)

Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает последнее найденное вхождение в пределах всего списка List<T>.

System_CAPS_pubmethodFindLastIndex(Int32, Int32, Predicate<T>)

Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов списка List<T>, содержащем указанное число элементов и заканчивающемся элементом с заданным индексом.

System_CAPS_pubmethodFindLastIndex(Int32, Predicate<T>)

Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов списка List<T>, начиная с первого элемента и заканчивая элементом с заданным индексом.

System_CAPS_pubmethodFindLastIndex(Predicate<T>)

Выполняет поиск элемента, удовлетворяющего условиям указанного предиката, и возвращает отсчитываемый от нуля индекс последнего найденного вхождения в пределах всего списка List<T>.

System_CAPS_pubmethodForEach(Action<T>)

Выполняет указанное действие с каждым элементом списка List<T>.

System_CAPS_pubmethodGetEnumerator()

Возвращает перечислитель, осуществляющий перебор элементов списка List<T>.

System_CAPS_pubmethodGetHashCode()

Служит хэш-функцией по умолчанию.(Наследуется от Object.)

System_CAPS_pubmethodGetRange(Int32, Int32)

Создает неполную копию диапазона элементов исходного списка List<T>.

System_CAPS_pubmethodGetType()

Возвращает объект Type для текущего экземпляра.(Наследуется от Object.)

System_CAPS_pubmethodIndexOf(T)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения, найденного в пределах всего списка List<T>.

System_CAPS_pubmethodIndexOf(T, Int32)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начиная с заданного индекса и до последнего элемента.

System_CAPS_pubmethodIndexOf(T, Int32, Int32)

Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс первого вхождения в диапазоне элементов списка List<T>, начинающемся с заданного индекса и содержащем указанное число элементов.

System_CAPS_pubmethodInsert(Int32, T)

Вставляет элемент в коллекцию List<T> по указанному индексу.

System_CAPS_pubmethodInsertRange(Int32, IEnumerable<T>)

Вставляет элементы коллекции в список List<T> в позиции с указанным индексом.

System_CAPS_pubmethodLastIndexOf(T)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения, найденного в пределах всего списка List<T>.

System_CAPS_pubmethodLastIndexOf(T, Int32)

Осуществляет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов списка List<T>, начиная с первого элемента и до позиции с заданным индексом.

System_CAPS_pubmethodLastIndexOf(T, Int32, Int32)

Выполняет поиск указанного объекта и возвращает отсчитываемый от нуля индекс последнего вхождения в диапазоне элементов списка List<T>, содержащем указанное число элементов и заканчивающемся в позиции с указанным индексом.

System_CAPS_protmethodMemberwiseClone()

Создает неполную копию текущего объекта Object.(Наследуется от Object.)

System_CAPS_pubmethodRemove(T)

Удаляет первое вхождение указанного объекта из коллекции List<T>.

System_CAPS_pubmethodRemoveAll(Predicate<T>)

Удаляет все элементы, удовлетворяющие условиям указанного предиката.

System_CAPS_pubmethodRemoveAt(Int32)

Удаляет элемент списка List<T> с указанным индексом.

System_CAPS_pubmethodRemoveRange(Int32, Int32)

Удаляет диапазон элементов из списка List<T>.

System_CAPS_pubmethodReverse()

Изменяет порядок элементов во всем списке List<T> на обратный.

System_CAPS_pubmethodReverse(Int32, Int32)

Изменяет порядок элементов в указанном диапазоне.

System_CAPS_pubmethodSort()

Сортирует элементы во всем списке List<T> с помощью функции сравнения по умолчанию.

System_CAPS_pubmethodSort(Comparison<T>)

Сортирует элементы во всем списке List<T> с использованием указанного System.Comparison<T>.

System_CAPS_pubmethodSort(IComparer<T>)

Сортирует элементы во всем списке List<T> с помощью указанной функции сравнения.

System_CAPS_pubmethodSort(Int32, Int32, IComparer<T>)

Сортирует элементы в диапазоне элементов списка List<T> с помощью указанной функции сравнения.

System_CAPS_pubmethodToArray()

Копирует элементы списка List<T> в новый массив.

System_CAPS_pubmethodToString()

Возвращает строковое представление текущего объекта.
(Наследуется от Object.)

System_CAPS_pubmethodTrimExcess()

Задает емкость, равную фактическому числу элементов в списке List<T>, если это число меньше порогового значения.

System_CAPS_pubmethodTrueForAll(Predicate<T>)

Определяет, все ли элементы списка List<T> удовлетворяют условиям указанного предиката.

ИмяОписание
System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable<T>.GetEnumerator()

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

System_CAPS_pubinterfaceSystem_CAPS_privmethodICollection.CopyTo(Array, Int32)

Копирует элементы коллекции ICollection в массив Array, начиная с указанного индекса массива Array.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

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

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Add(Object)

Добавляет элемент в коллекцию IList.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Contains(Object)

Определяет, содержит ли коллекция IList указанное значение.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.IndexOf(Object)

Определяет индекс заданного элемента в списке IList.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Insert(Int32, Object)

Вставляет элемент в список IList по указанному индексу.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Remove(Object)

Удаляет первое вхождение указанного объекта из коллекции IList.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection<T>.IsReadOnly

Получает значение, указывающее, является ли объект ICollection<T> доступным только для чтения.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.IsSynchronized

Возвращает значение, показывающее, является ли доступ к коллекции ICollection синхронизированным (потокобезопасным).

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.SyncRoot

Получает объект, с помощью которого можно синхронизировать доступ к коллекции ICollection.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.IsFixedSize

Получает значение, указывающее, имеет ли список IList фиксированный размер.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.IsReadOnly

Получает значение, указывающее, является ли объект IList доступным только для чтения.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.Item[Int32]

Возвращает или задает элемент по указанному индексу.

ИмяОписание
System_CAPS_pubmethodAggregate<T>(Func<T, T, T>)

Перегружен. Применяет к последовательности агрегатную функцию.(Определено Enumerable.)

System_CAPS_pubmethodAggregate<T, TAccumulate>(TAccumulate, Func<TAccumulate, T, TAccumulate>)

Перегружен. Применяет к последовательности агрегатную функцию. Указанное начальное значение используется в качестве исходного значения агрегатной операции.(Определено Enumerable.)

System_CAPS_pubmethodAggregate<T, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, T, TAccumulate>, Func<TAccumulate, TResult>)

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

System_CAPS_pubmethodAll<T>(Func<T, Boolean>)

Определяет, является ли все элементы последовательности удовлетворяют условию.(Определено Enumerable.)

System_CAPS_pubmethodAny<T>()

Перегружен. Определяет, содержит ли последовательность какие-либо элементы.(Определено Enumerable.)

System_CAPS_pubmethodAny<T>(Func<T, Boolean>)

Перегружен. Определяет, удовлетворяет ли какой-либо элемент последовательности условие.(Определено Enumerable.)

System_CAPS_pubmethodAsEnumerable<T>()

Возвращает входные данные, типизированного как IEnumerable<T>.(Определено Enumerable.)

System_CAPS_pubmethodAsParallel()

Перегружен. Позволяет осуществлять параллельный запрос.(Определено ParallelEnumerable.)

System_CAPS_pubmethodAsParallel<T>()

Перегружен. Позволяет осуществлять параллельный запрос.(Определено ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Перегружен. Преобразует IEnumerable для IQueryable.(Определено Queryable.)

System_CAPS_pubmethodAsQueryable<T>()

Перегружен. Преобразует универсальный IEnumerable<T> к универсальному IQueryable<T>.(Определено Queryable.)

System_CAPS_pubmethodAverage<T>(Func<T, Decimal>)

Перегружен. Вычисляет среднее для последовательности Decimal значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Double>)

Перегружен. Вычисляет среднее для последовательности Double значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Int32>)

Перегружен. Вычисляет среднее для последовательности Int32 значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Int64>)

Перегружен. Вычисляет среднее для последовательности Int64 значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Decimal>>)

Перегружен. Вычисляет среднее для последовательности nullable Decimal значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Double>>)

Перегружен. Вычисляет среднее для последовательности nullable Double значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Int32>>)

Перегружен. Вычисляет среднее для последовательности nullable Int32 значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Int64>>)

Перегружен. Вычисляет среднее для последовательности nullable Int64 значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Nullable<Single>>)

Перегружен. Вычисляет среднее для последовательности nullable Single значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodAverage<T>(Func<T, Single>)

Перегружен. Вычисляет среднее для последовательности Single значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodCast<TResult>()

Приводит элементы IEnumerable для указанного типа.(Определено Enumerable.)

System_CAPS_pubmethodConcat<T>(IEnumerable<T>)

Объединяет две последовательности.(Определено Enumerable.)

System_CAPS_pubmethodContains<T>(T)

Перегружен. Определяет, содержит ли последовательность указанный элемент, используя компаратор проверки на равенство по умолчанию.(Определено Enumerable.)

System_CAPS_pubmethodContains<T>(T, IEqualityComparer<T>)

Перегружен. Определяет, содержит ли последовательность указанный элемент, используя указанный IEqualityComparer<T>.(Определено Enumerable.)

System_CAPS_pubmethodCount<T>()

Перегружен. Возвращает количество элементов в последовательности.(Определено Enumerable.)

System_CAPS_pubmethodCount<T>(Func<T, Boolean>)

Перегружен. Возвращает число, представляющее количество элементов в указанной последовательности удовлетворяют условию.(Определено Enumerable.)

System_CAPS_pubmethodDefaultIfEmpty<T>()

Перегружен. Возвращает элементы указанной последовательности или значение по умолчанию параметра типа одноэлементную коллекцию, если последовательность пуста.(Определено Enumerable.)

System_CAPS_pubmethodDefaultIfEmpty<T>(T)

Перегружен. Возвращает элементы указанной последовательности или значение заданного одноэлементную коллекцию, если последовательность пуста.(Определено Enumerable.)

System_CAPS_pubmethodDistinct<T>()

Перегружен. Возвращает различающиеся элементы последовательности, используя для сравнения значений компаратор проверки на равенство по умолчанию.(Определено Enumerable.)

System_CAPS_pubmethodDistinct<T>(IEqualityComparer<T>)

Перегружен. Возвращает различающиеся элементы последовательности, используя указанную IEqualityComparer<T> для сравнения значений.(Определено Enumerable.)

System_CAPS_pubmethodElementAt<T>(Int32)

Возвращает элемент по указанному индексу в последовательности.(Определено Enumerable.)

System_CAPS_pubmethodElementAtOrDefault<T>(Int32)

Возвращает элемент последовательности по указанному индексу или значение по умолчанию, если индекс вне допустимого диапазона.(Определено Enumerable.)

System_CAPS_pubmethodExcept<T>(IEnumerable<T>)

Перегружен. Находит разность двух последовательностей, используя для сравнения значений компаратор проверки на равенство по умолчанию.(Определено Enumerable.)

System_CAPS_pubmethodExcept<T>(IEnumerable<T>, IEqualityComparer<T>)

Перегружен. Находит разность двух последовательностей с помощью заданного IEqualityComparer<T> для сравнения значений.(Определено Enumerable.)

System_CAPS_pubmethodFirst<T>()

Перегружен. Возвращает первый элемент последовательности.(Определено Enumerable.)

System_CAPS_pubmethodFirst<T>(Func<T, Boolean>)

Перегружен. Возвращает первый элемент последовательности, удовлетворяющий указанному условию.(Определено Enumerable.)

System_CAPS_pubmethodFirstOrDefault<T>()

Перегружен. Возвращает первый элемент последовательности или значение по умолчанию, если последовательность не содержит элементов.(Определено Enumerable.)

System_CAPS_pubmethodFirstOrDefault<T>(Func<T, Boolean>)

Перегружен. Возвращает первый элемент последовательности, удовлетворяющий указанному условию, или значение по умолчанию, если ни одного такого элемента не найдено.(Определено Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey>(Func<T, TKey>)

Перегружен. Группирует элементы последовательности в соответствии с заданной функцией селектора ключа.(Определено Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

Перегружен. Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и сравнивает ключи с помощью указанного компаратора.(Определено Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

Перегружен. Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и проецирует элементы каждой группы с помощью указанной функции.(Определено Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

Перегружен. Группирует элементы последовательности в соответствии с функцией селектора ключа. Ключи сравниваются с помощью компаратора, элементы каждой группы проецируются с помощью указанной функции.(Определено Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TResult>(Func<T, TKey>, Func<TKey, IEnumerable<T>, TResult>)

Перегружен. Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и создает результирующее значение для каждой группы и ее ключа.(Определено Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TResult>(Func<T, TKey>, Func<TKey, IEnumerable<T>, TResult>, IEqualityComparer<TKey>)

Перегружен. Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и создает результирующее значение для каждой группы и ее ключа. Ключи сравниваются с использованием заданного компаратора.(Определено Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TElement, TResult>(Func<T, TKey>, Func<T, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)

Перегружен. Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и создает результирующее значение для каждой группы и ее ключа. Элементы каждой группы проецируются с помощью указанной функции.(Определено Enumerable.)

System_CAPS_pubmethodGroupBy<T, TKey, TElement, TResult>(Func<T, TKey>, Func<T, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

Перегружен. Группирует элементы последовательности в соответствии с заданной функцией селектора ключа и создает результирующее значение для каждой группы и ее ключа. Значения ключей сравниваются с помощью указанного компаратора, элементы каждой группы проецируются с помощью указанной функции.(Определено Enumerable.)

System_CAPS_pubmethodGroupJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, IEnumerable<TInner>, TResult>)

Перегружен. Устанавливает корреляцию между элементами двух последовательностей на основе равенства ключей и группирует результаты. Для сравнения ключей используется компаратор проверки на равенство по умолчанию.(Определено Enumerable.)

System_CAPS_pubmethodGroupJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Перегружен. Устанавливает корреляцию между элементами двух последовательностей на основе равенства ключа и группирует результаты. Указанный IEqualityComparer<T> используется для сравнения ключей.(Определено Enumerable.)

System_CAPS_pubmethodIntersect<T>(IEnumerable<T>)

Перегружен. Находит пересечение двух последовательностей, используя для сравнения значений компаратор проверки на равенство по умолчанию.(Определено Enumerable.)

System_CAPS_pubmethodIntersect<T>(IEnumerable<T>, IEqualityComparer<T>)

Перегружен. Находит пересечение двух последовательностей, используя указанный IEqualityComparer<T> для сравнения значений.(Определено Enumerable.)

System_CAPS_pubmethodJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, TInner, TResult>)

Перегружен. Устанавливает корреляцию между элементами двух последовательностей на основе сопоставления ключей. Для сравнения ключей используется компаратор проверки на равенство по умолчанию.(Определено Enumerable.)

System_CAPS_pubmethodJoin<T, TInner, TKey, TResult>(IEnumerable<TInner>, Func<T, TKey>, Func<TInner, TKey>, Func<T, TInner, TResult>, IEqualityComparer<TKey>)

Перегружен. Устанавливает корреляцию между элементами двух последовательностей на основе сопоставления ключей. Указанный IEqualityComparer<T> используется для сравнения ключей.(Определено Enumerable.)

System_CAPS_pubmethodLast<T>()

Перегружен. Возвращает последний элемент последовательности.(Определено Enumerable.)

System_CAPS_pubmethodLast<T>(Func<T, Boolean>)

Перегружен. Возвращает последний элемент последовательности, удовлетворяющий указанному условию.(Определено Enumerable.)

System_CAPS_pubmethodLastOrDefault<T>()

Перегружен. Возвращает последний элемент последовательности или значение по умолчанию, если последовательность не содержит элементов.(Определено Enumerable.)

System_CAPS_pubmethodLastOrDefault<T>(Func<T, Boolean>)

Перегружен. Возвращает последний элемент последовательности, удовлетворяющий указанному условию, или значение по умолчанию, если ни одного такого элемента не найдено.(Определено Enumerable.)

System_CAPS_pubmethodLongCount<T>()

Перегружен. Возвращает Int64 представляющее общее число элементов в последовательности.(Определено Enumerable.)

System_CAPS_pubmethodLongCount<T>(Func<T, Boolean>)

Перегружен. Возвращает Int64 представляющий количество элементов в последовательности удовлетворяют условию.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>()

Перегружен. Возвращает максимальное значение, содержащееся в универсальной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Decimal>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное Decimal значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Double>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное Double значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Int32>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное Int32 значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Int64>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное Int64 значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Decimal>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение NULL Decimal значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Double>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение NULL Double значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Int32>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение NULL Int32 значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Int64>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение NULL Int64 значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Nullable<Single>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение NULL Single значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T>(Func<T, Single>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное Single значение.(Определено Enumerable.)

System_CAPS_pubmethodMax<T, TResult>(Func<T, TResult>)

Перегружен. Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает максимальное результирующее значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>()

Перегружен. Возвращает минимальное значение, содержащееся в универсальной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Decimal>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное Decimal значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Double>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное Double значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Int32>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное Int32 значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Int64>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное Int64 значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Decimal>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение NULL Decimal значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Double>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение NULL Double значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Int32>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение NULL Int32 значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Int64>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение NULL Int64 значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Nullable<Single>>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное значение NULL Single значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T>(Func<T, Single>)

Перегружен. Вызывает функцию преобразования для каждого элемента последовательности и возвращает минимальное Single значение.(Определено Enumerable.)

System_CAPS_pubmethodMin<T, TResult>(Func<T, TResult>)

Перегружен. Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает минимальное результирующее значение.(Определено Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Фильтрует элементы IEnumerable на основе указанного типа.(Определено Enumerable.)

System_CAPS_pubmethodOrderBy<T, TKey>(Func<T, TKey>)

Перегружен. Сортирует элементы последовательности в возрастающем порядке по ключу.(Определено Enumerable.)

System_CAPS_pubmethodOrderBy<T, TKey>(Func<T, TKey>, IComparer<TKey>)

Перегружен. Сортирует элементы последовательности в порядке возрастания с использованием указанного компаратора.(Определено Enumerable.)

System_CAPS_pubmethodOrderByDescending<T, TKey>(Func<T, TKey>)

Перегружен. Сортирует элементы последовательности в порядке убывания ключа.(Определено Enumerable.)

System_CAPS_pubmethodOrderByDescending<T, TKey>(Func<T, TKey>, IComparer<TKey>)

Перегружен. Сортирует элементы последовательности в порядке убывания с использованием указанного компаратора.(Определено Enumerable.)

System_CAPS_pubmethodReverse<T>()

Изменяет порядок элементов в последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSelect<T, TResult>(Func<T, TResult>)

Перегружен. Проецирует каждый элемент последовательности в новую форму.(Определено Enumerable.)

System_CAPS_pubmethodSelect<T, TResult>(Func<T, Int32, TResult>)

Перегружен. Проецирует каждый элемент последовательности в новую форму, добавляя индекс элемента.(Определено Enumerable.)

System_CAPS_pubmethodSelectMany<T, TResult>(Func<T, IEnumerable<TResult>>)

Перегружен. Проецирует каждый элемент последовательности в IEnumerable<T> и объединяет результирующие последовательности в одну последовательность.(Определено Enumerable.)

System_CAPS_pubmethodSelectMany<T, TResult>(Func<T, Int32, IEnumerable<TResult>>)

Перегружен. Проецирует каждый элемент последовательности в IEnumerable<T>, и объединяет результирующие последовательности в одну последовательность. Индекс каждого элемента исходной последовательности используется в проецированной форме этого элемента.(Определено Enumerable.)

System_CAPS_pubmethodSelectMany<T, TCollection, TResult>(Func<T, IEnumerable<TCollection>>, Func<T, TCollection, TResult>)

Перегружен. Проецирует каждый элемент последовательности в IEnumerable<T>, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSelectMany<T, TCollection, TResult>(Func<T, Int32, IEnumerable<TCollection>>, Func<T, TCollection, TResult>)

Перегружен. Проецирует каждый элемент последовательности в IEnumerable<T>, объединяет результирующие последовательности в одну и вызывает функцию селектора результата для каждого элемента этой последовательности. Индекс каждого элемента исходной последовательности используется в промежуточной проецированной форме этого элемента.(Определено Enumerable.)

System_CAPS_pubmethodSequenceEqual<T>(IEnumerable<T>)

Перегружен. Определяет, совпадают ли две последовательности для сравнения элементов компаратор проверки на равенство по умолчанию для их типа.(Определено Enumerable.)

System_CAPS_pubmethodSequenceEqual<T>(IEnumerable<T>, IEqualityComparer<T>)

Перегружен. Определяет, равны ли две последовательности, сравнивая их элементы с помощью указанного IEqualityComparer<T>.(Определено Enumerable.)

System_CAPS_pubmethodSingle<T>()

Перегружен. Возвращает единственный элемент последовательности и вызывает исключение, если число элементов последовательности отлично от одного.(Определено Enumerable.)

System_CAPS_pubmethodSingle<T>(Func<T, Boolean>)

Перегружен. Возвращает единственный элемент последовательности, удовлетворяющий указанному условию, и вызывает исключение, если таких элементов больше одного.(Определено Enumerable.)

System_CAPS_pubmethodSingleOrDefault<T>()

Перегружен. Возвращает единственный элемент последовательности или значение по умолчанию, если последовательность пуста; Этот метод создает исключение, если в последовательности более одного элемента.(Определено Enumerable.)

System_CAPS_pubmethodSingleOrDefault<T>(Func<T, Boolean>)

Перегружен. Возвращает единственный элемент последовательности, удовлетворяющий указанному условию, или значение по умолчанию, если такого элемента не существует; если условию удовлетворяет более одного элемента, вызывается исключение.(Определено Enumerable.)

System_CAPS_pubmethodSkip<T>(Int32)

Пропускает заданное число элементов в последовательности и возвращает остальные элементы.(Определено Enumerable.)

System_CAPS_pubmethodSkipWhile<T>(Func<T, Boolean>)

Перегружен. Пропускает элементы в последовательности, пока заданное условие истинно и затем возвращает оставшиеся элементы.(Определено Enumerable.)

System_CAPS_pubmethodSkipWhile<T>(Func<T, Int32, Boolean>)

Перегружен. Пропускает элементы в последовательности, пока заданное условие истинно и затем возвращает оставшиеся элементы. Индекс элемента используется в логике функции предиката.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Decimal>)

Перегружен. Вычисляет сумму последовательности Decimal значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Double>)

Перегружен. Вычисляет сумму последовательности Double значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Int32>)

Перегружен. Вычисляет сумму последовательности Int32 значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Int64>)

Перегружен. Вычисляет сумму последовательности Int64 значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Decimal>>)

Перегружен. Вычисляет сумму последовательности nullable Decimal значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Double>>)

Перегружен. Вычисляет сумму последовательности nullable Double значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Int32>>)

Перегружен. Вычисляет сумму последовательности nullable Int32 значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Int64>>)

Перегружен. Вычисляет сумму последовательности nullable Int64 значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Nullable<Single>>)

Перегружен. Вычисляет сумму последовательности nullable Single значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodSum<T>(Func<T, Single>)

Перегружен. Вычисляет сумму последовательности Single значений, получаемой в результате применения функции преобразования к каждому элементу входной последовательности.(Определено Enumerable.)

System_CAPS_pubmethodTake<T>(Int32)

Возвращает заданное число смежных элементов с начала последовательности.(Определено Enumerable.)

System_CAPS_pubmethodTakeWhile<T>(Func<T, Boolean>)

Перегружен. Возвращает цепочку элементов последовательности, до тех пор, пока условие истинно. (Определено Enumerable.)

System_CAPS_pubmethodTakeWhile<T>(Func<T, Int32, Boolean>)

Перегружен. Возвращает цепочку элементов последовательности, до тех пор, пока условие истинно. Индекс элемента используется в логике функции предиката.(Определено Enumerable.)

System_CAPS_pubmethodToArray<T>()

Создает массив из IEnumerable<T>.(Определено Enumerable.)

System_CAPS_pubmethodToDictionary<T, TKey>(Func<T, TKey>)

Перегружен. Создает Dictionary<TKey, TValue> из IEnumerable<T> в соответствии с заданной функцией селектора ключа.(Определено Enumerable.)

System_CAPS_pubmethodToDictionary<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

Перегружен. Создает Dictionary<TKey, TValue> из IEnumerable<T> в соответствии с указанной функцией выбора ключа функции и компаратором ключей.(Определено Enumerable.)

System_CAPS_pubmethodToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

Перегружен. Создает Dictionary<TKey, TValue> из IEnumerable<T> в соответствии с указанной функцией выбора ключа и функции селектора элемента.(Определено Enumerable.)

System_CAPS_pubmethodToDictionary<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

Перегружен. Создает Dictionary<TKey, TValue> из IEnumerable<T> в соответствии с заданной функцией селектора ключа, средства сравнения и функции выбора элементов.(Определено Enumerable.)

System_CAPS_pubmethodToList<T>()

Создает List<T> из IEnumerable<T>.(Определено Enumerable.)

System_CAPS_pubmethodToLookup<T, TKey>(Func<T, TKey>)

Перегружен. Создает Lookup<TKey, TElement> из IEnumerable<T> в соответствии с заданной функцией селектора ключа.(Определено Enumerable.)

System_CAPS_pubmethodToLookup<T, TKey>(Func<T, TKey>, IEqualityComparer<TKey>)

Перегружен. Создает Lookup<TKey, TElement> из IEnumerable<T> в соответствии с указанной функцией выбора ключа функции и компаратором ключей.(Определено Enumerable.)

System_CAPS_pubmethodToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>)

Перегружен. Создает Lookup<TKey, TElement> из IEnumerable<T> в соответствии с указанной функцией выбора ключа и функции селектора элемента.(Определено Enumerable.)

System_CAPS_pubmethodToLookup<T, TKey, TElement>(Func<T, TKey>, Func<T, TElement>, IEqualityComparer<TKey>)

Перегружен. Создает Lookup<TKey, TElement> из IEnumerable<T> в соответствии с заданной функцией селектора ключа и компаратором функции выбора элементов.(Определено Enumerable.)

System_CAPS_pubmethodUnion<T>(IEnumerable<T>)

Перегружен. Находит объединения наборов двух последовательностей, используя компаратор проверки на равенство по умолчанию.(Определено Enumerable.)

System_CAPS_pubmethodUnion<T>(IEnumerable<T>, IEqualityComparer<T>)

Перегружен. Создает объединения наборов двух последовательностей с использованием указанного IEqualityComparer<T>.(Определено Enumerable.)

System_CAPS_pubmethodWhere<T>(Func<T, Boolean>)

Перегружен. Выполняет фильтрацию последовательности значений на основе заданного предиката.(Определено Enumerable.)

System_CAPS_pubmethodWhere<T>(Func<T, Int32, Boolean>)

Перегружен. Выполняет фильтрацию последовательности значений на основе заданного предиката. Индекс каждого элемента используется в логике функции предиката.(Определено Enumerable.)

System_CAPS_pubmethodZip<T, TSecond, TResult>(IEnumerable<TSecond>, Func<T, TSecond, TResult>)

Применяет указанную функцию к соответствующим элементам двух последовательностей, создания последовательности результатов.(Определено Enumerable.)

System_CAPS_noteПримечание

Чтобы просмотреть исходный код .NET Framework для этого типа, см. раздел Reference Source. Просмотр исходного кода в Интернете, загружаемом справочнике для автономного просмотра и пошагово источники (включая исправления и обновления) во время отладки; see instructions.

List<T> Класс является универсальный эквивалент ArrayList класса. Он реализует IList<T> универсальный интерфейс с помощью массива, размер которого динамически увеличивается как требуется.

Можно добавлять элементы к List<T> с помощью Add или AddRange методы.

List<T> Классе используется компаратор проверки на равенство и компаратор упорядочения.

  • Такие методы, как Contains, IndexOf, LastIndexOf, и Remove для списка элементов используется компаратор проверки на равенство. Компаратор проверки на равенство по умолчанию для типа T определяется следующим образом. Если тип T реализует IEquatable<T> универсальный интерфейс, то компаратор проверки на равенство является Equals(T) метода этого интерфейса; в противном случае — функцию сравнения по умолчанию является Object.Equals(Object).

  • Такие методы, как BinarySearch и Sort используют компаратор упорядочения для элементов списка. Компаратор по умолчанию для типа T определяется следующим образом. Если тип T реализует IComparable<T> универсальный интерфейс, то блок сравнения по умолчанию является CompareTo(T) метода этого интерфейса; в противном случае, если тип T реализует неуниверсальный IComparable интерфейса, компаратор по умолчанию является CompareTo(Object) метода этого интерфейса. Если тип T реализует ни один из интерфейсов, а затем компаратор по умолчанию отсутствует, а компаратор или делегат сравнения должен быть предоставлен явно.

List<T> Не обязательно быть отсортированы. Сначала нужно отсортировать List<T> перед выполнением операций (таких как BinarySearch), требующих List<T> должны быть отсортированы.

Элементы в этой коллекции осуществляется с помощью целочисленного индекса. Индексы в этой коллекции отсчитываются от нуля.

Для очень больших List<T> объектов Максимальная емкость 2 миллиарда элементы в 64-разрядной системе можно повысить, указав enabled атрибута элемента конфигурации в true в среде выполнения.

List<T> принимает null как допустимое значение для ссылки на типы и допускает наличие повторяющихся элементов.

Неизменяемый версии List<T> см. в разделе ImmutableList<T>.

В принятии решения об использовании List<T> или ArrayList класса, имеющих аналогичные функциональные возможности, следует помнить, что List<T> работает лучше, в большинстве случаев класс и является типобезопасным. Если ссылочный тип используется для типа T из List<T> класс, класс идентичен. Тем не менее если тип значения, используемого для типа T, необходимо учитывать проблемы Упаковка-преобразование и реализации.

Если тип значения, используемого для типа T, компилятор создает реализацию List<T> класс специально для этого типа значения. Это означает элемент списка List<T> объект не должен быть упакован перед элемент можно использовать и после создания примерно 500 элементов списка объем памяти, сохранены не упаковка-преобразование элементов списка превышает объем памяти, используемый для создания реализации класса.

Убедитесь, тип значения, используемые для типа T реализует IEquatable<T> универсальный интерфейс. Если нет, такие методы, как Contains необходимо вызвать Object.Equals(Object) метод, который элемент затронутых списка полей. Если тип значения реализует IComparable интерфейс и вы являетесь владельцем исходного кода, также реализуют IComparable<T> универсальный интерфейс для предотвращения BinarySearch и Sort методов из упаковка-преобразование элементов списка. Если вы не являетесь владельцем исходного кода, передайте IComparer<T> объект BinarySearch и Sort методов

Это эффективно использовать реализацию определенного типа List<T> класса вместо использования ArrayList класса или записи коллекции строго типизированную оболочку самостоятельно. Причина заключается в необходимо выполнять в реализации .NET Framework делает за вас уже и среды CLR могут совместно использовать код MSIL и метаданные, которые нельзя вашей реализации.

List<T> Класс редко используется в коде F #. Вместо этого Lists (F#), которые являются неизменяемыми, однонаправленных списков, предпочтительным. Список F # предоставляет упорядоченный, неизменный ряд значений и поддерживается для использования при разработке функциональном стиле. При использовании F #List<T> класса обычно обозначается ResizeArray<'T> введите сокращение, чтобы избежать конфликтов с F # список имен

Следующий пример демонстрирует для добавления, удаления и вставки простой бизнес-объект в List<T>.

using System;
using System.Collections.Generic;
// Simple business object. A PartId is used to identify the type of part 
// but the part name can change. 
public class Part : IEquatable<Part>
    {
        public string PartName { get; set; }

        public int PartId { get; set; }

        public override string ToString()
        {
            return "ID: " + PartId + "   Name: " + PartName;
        }
        public override bool Equals(object obj)
        {
            if (obj == null) return false;
            Part objAsPart = obj as Part;
            if (objAsPart == null) return false;
            else return Equals(objAsPart);
        }
        public override int GetHashCode()
        {
            return PartId;
        }
        public bool Equals(Part other)
        {
            if (other == null) return false;
            return (this.PartId.Equals(other.PartId));
        }
    // Should also override == and != operators.

    }
public class Example
{
    public static void Main()
    {
        // Create a list of parts.
        List<Part> parts = new List<Part>();

        // Add parts to the list.
        parts.Add(new Part() {PartName="crank arm", PartId=1234});
        parts.Add(new Part() { PartName = "chain ring", PartId = 1334 });
        parts.Add(new Part() { PartName = "regular seat", PartId = 1434 });
        parts.Add(new Part() { PartName = "banana seat", PartId = 1444 });
        parts.Add(new Part() { PartName = "cassette", PartId = 1534 });
        parts.Add(new Part() { PartName = "shift lever", PartId = 1634 });

        // Write out the parts in the list. This will call the overridden ToString method
        // in the Part class.
        Console.WriteLine();
        foreach (Part aPart in parts)
        {
            Console.WriteLine(aPart);
        }


        // Check the list for part #1734. This calls the IEquitable.Equals method
        // of the Part class, which checks the PartId for equality.
        Console.WriteLine("\nContains(\"1734\"): {0}",
        parts.Contains(new Part {PartId=1734, PartName="" }));

        // Insert a new item at position 2.
        Console.WriteLine("\nInsert(2, \"1834\")");
        parts.Insert(2, new Part() { PartName = "brake lever", PartId = 1834 });


        //Console.WriteLine();
        foreach (Part aPart in parts)
        {
            Console.WriteLine(aPart);
        }

        Console.WriteLine("\nParts[3]: {0}", parts[3]);

        Console.WriteLine("\nRemove(\"1534\")");

        // This will remove part 1534 even though the PartName is different,
        // because the Equals method only checks PartId for equality.
        parts.Remove(new Part(){PartId=1534, PartName="cogs"});

        Console.WriteLine();
        foreach (Part aPart in parts)
        {
            Console.WriteLine(aPart);
        }
        Console.WriteLine("\nRemoveAt(3)");
        // This will remove the part at index 3.
        parts.RemoveAt(3);

        Console.WriteLine();
        foreach (Part aPart in parts)
        {
            Console.WriteLine(aPart);
        }

            /*

             ID: 1234   Name: crank arm
             ID: 1334   Name: chain ring
             ID: 1434   Name: regular seat
             ID: 1444   Name: banana seat
             ID: 1534   Name: cassette
             ID: 1634   Name: shift lever

             Contains("1734"): False

             Insert(2, "1834")
             ID: 1234   Name: crank arm
             ID: 1334   Name: chain ring
             ID: 1834   Name: brake lever
             ID: 1434   Name: regular seat
             ID: 1444   Name: banana seat
             ID: 1534   Name: cassette
             ID: 1634   Name: shift lever

             Parts[3]: ID: 1434   Name: regular seat

             Remove("1534")

             ID: 1234   Name: crank arm
             ID: 1334   Name: chain ring
             ID: 1834   Name: brake lever
             ID: 1434   Name: regular seat
             ID: 1444   Name: banana seat
             ID: 1634   Name: shift lever

             RemoveAt(3)

             ID: 1234   Name: crank arm
             ID: 1334   Name: chain ring
             ID: 1834   Name: brake lever
             ID: 1444   Name: banana seat
             ID: 1634   Name: shift lever


         */

    }
}

В следующем примере показано несколько свойств и методов List<T> универсальный класс строкового типа. (Пример List<T> сложных типов в разделе Contains метод.)

Чтобы создать список строк с емкостью по умолчанию используется конструктор по умолчанию. Capacity Свойство отображается и затем Add метод используется для добавления нескольких элементов. Перечисляются элементы и Capacity свойство отображается снова, вместе с Count свойство, чтобы показать, что емкость увеличен при необходимости.

Contains Метод используется для проверки на наличие элемента в списке Insert метод используется для вставки нового элемента в середине списка и снова отобразить содержимое списка.

Значение по умолчанию Item (индексатор в C#) используется для получения объекта, Remove метод используется для удаления первого экземпляра повторяющийся элемент добавлен ранее, и снова отобразить содержимое. Remove Метод всегда удаляет он встречает первый экземпляр.

TrimExcess Метод используется для уменьшения емкости для совпадает с количеством и Capacity и Count отображаются свойства. Если неиспользованные ресурсы был менее 10% от общей емкости, список будет не изменились.

Наконец Clear метод используется для удаления всех элементов из списка и Capacity и Count отображаются свойства.

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        List<string> dinosaurs = new List<string>();

        Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);

        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Amargasaurus");
        dinosaurs.Add("Mamenchisaurus");
        dinosaurs.Add("Deinonychus");
        dinosaurs.Add("Compsognathus");
        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
        Console.WriteLine("Count: {0}", dinosaurs.Count);

        Console.WriteLine("\nContains(\"Deinonychus\"): {0}",
            dinosaurs.Contains("Deinonychus"));

        Console.WriteLine("\nInsert(2, \"Compsognathus\")");
        dinosaurs.Insert(2, "Compsognathus");

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        // Shows accessing the list using the Item property.
        Console.WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]);

        Console.WriteLine("\nRemove(\"Compsognathus\")");
        dinosaurs.Remove("Compsognathus");

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        dinosaurs.TrimExcess();
        Console.WriteLine("\nTrimExcess()");
        Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
        Console.WriteLine("Count: {0}", dinosaurs.Count);

        dinosaurs.Clear();
        Console.WriteLine("\nClear()");
        Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
        Console.WriteLine("Count: {0}", dinosaurs.Count);
    }
}

/* This code example produces the following output:

Capacity: 0

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus

Capacity: 8
Count: 5

Contains("Deinonychus"): True

Insert(2, "Compsognathus")

Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus

dinosaurs[3]: Mamenchisaurus

Remove("Compsognathus")

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus

TrimExcess()
Capacity: 5
Count: 5

Clear()
Capacity: 5
Count: 0
 */

Универсальная платформа Windows
Доступно с 8
.NET Framework
Доступно с 2.0
Переносимая библиотека классов
Поддерживается в: переносимые платформы .NET
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Windows Phone
Доступно с 8.1

Открытые статические (Shared в Visual Basic) члены этого типа являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

Безопасно выполнять несколько операций чтения на List<T>, но проблемы могут возникнуть, если коллекция была изменена во время его чтения. Для обеспечения потокобезопасности, заблокировать коллекцию на время чтения или записи. Чтобы включить сбор должен осуществляться из нескольких потоков для чтения и записи, необходимо реализовать собственную синхронизацию. Коллекции с помощью встроенных синхронизации см System.Collections.Concurrent пространства имен. Альтернативы по своей природе поточно ориентированных разделе ImmutableList<T> класса.

Вернуться в начало
Показ: