Класс List <‘T> представляет строго типизированный список объектов, к которым можно получить доступ по индексу.
Это изменчивый аналог класса List. Он похож на массивы, так как к нему может обращаться индекс, однако, в отличие от массивов, списки могут быть изменены. Поэтому вам не нужно указывать размер при объявлении.
Создание изменяемого списка
Списки создаются с использованием нового ключевого слова и вызова конструктора списка. Следующий пример демонстрирует это —
(* Creating a List *) open System.Collections.Generic let booksList = new List<string>() booksList.Add("Gone with the Wind") booksList.Add("Atlas Shrugged") booksList.Add("Fountainhead") booksList.Add("Thornbirds") booksList.Add("Rebecca") booksList.Add("Narnia") booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
Когда вы компилируете и запускаете программу, она выдает следующий вывод:
0: Gone with the Wind 1: Atlas Shrugged 2: Fountainhead 3: Thornbirds 4: Rebecca 5: Narnia
Список (T) Класс
Класс List (T) представляет строго типизированный список объектов, к которым можно получить доступ по индексу. Он предоставляет методы для поиска, сортировки и управления списками.
В следующих таблицах представлены свойства, конструкторы и методы класса List (T).
свойства
Имущество | Описание |
---|---|
Вместимость | Получает или задает общее количество элементов, которое может содержать внутренняя структура данных без изменения размера. |
подсчитывать | Получает количество элементов, содержащихся в списке (T). |
Вещь | Получает или задает элемент по указанному индексу. |
Конструкторы
Конструктор | Описание |
---|---|
Список (Т) () | Инициализирует новый экземпляр класса List (T), который является пустым и имеет начальную емкость по умолчанию. |
Список (T) (IEnumerable (T)) | Инициализирует новый экземпляр класса List (T), который содержит элементы, скопированные из указанной коллекции, и имеет достаточную емкость для размещения количества скопированных элементов. |
Список (Т) (Int32) | Инициализирует новый экземпляр класса List (T), который является пустым и имеет указанную начальную емкость. |
метод
методы | Описание |
---|---|
добавлять | Добавляет объект в конец списка (T). |
AddRange | Добавляет элементы указанной коллекции в конец списка (T). |
AsReadOnly | Возвращает доступную только для чтения оболочку IList (T) для текущей коллекции. |
BinarySearch (Т) | Выполняет поиск во всем отсортированном списке List (T) для элемента, используя компаратор по умолчанию, и возвращает индекс элемента, начинающийся с нуля. |
Бинарный поиск (T, IComparer (T)) | Выполняет поиск во всем отсортированном списке List (T) для элемента, используя указанный компаратор, и возвращает индекс элемента, начинающийся с нуля. |
BinarySearch (Int32, Int32, T, IComparer (T)) | Выполняет поиск в диапазоне элементов в отсортированном списке List (T) для элемента с использованием указанного компаратора и возвращает индекс элемента, начинающийся с нуля. |
Очистить | Удаляет все элементы из списка (T). |
Содержит | Определяет, есть ли элемент в списке (T). |
ConvertAll (TOutput) | Преобразует элементы в текущем списке (T) в другой тип и возвращает список, содержащий преобразованные элементы. |
CopyTo (T []) | Копирует весь список (T) в совместимый одномерный массив, начиная с начала целевого массива. |
CopyTo (T [], Int32) | Копирует весь список (T) в совместимый одномерный массив, начиная с указанного индекса целевого массива. |
CopyTo (Int32, T [], Int32, Int32) | Копирует диапазон элементов из списка (T) в совместимый одномерный массив, начиная с указанного индекса целевого массива. |
Равно (Объект) | Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object.) |
Существует | Определяет, содержит ли List (T) элементы, которые соответствуют условиям, заданным указанным предикатом. |
завершать | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, прежде чем он будет утилизирован сборщиком мусора (Унаследовано от Object). |
найти | Ищет элемент, который соответствует условиям, определенным указанным предикатом, и возвращает первое вхождение во всем Списке (T). |
Найти все | Извлекает все элементы, которые соответствуют условиям, определенным указанным предикатом. |
FindIndex (предикат (Т)) | Ищет элемент, который соответствует условиям, определенным указанным предикатом, и возвращает нулевой индекс первого вхождения во всем Списке (T). |
FindIndex (Int32, Предикат (T)) | Ищет элемент, который соответствует условиям, определенным указанным предикатом, и возвращает нулевой индекс первого вхождения в пределах диапазона элементов в Списке (T), который простирается от указанного индекса до последнего элемента. |
FindIndex (Int32, Int32, Предикат (T)) | Выполняет поиск элемента, который соответствует условиям, заданным указанным предикатом, и возвращает нулевой индекс первого вхождения в диапазоне элементов списка (T), который начинается с указанного индекса и содержит указанное количество элементов. |
FindLast | Ищет элемент, который соответствует условиям, заданным указанным предикатом, и возвращает последнее вхождение во всем списке (T). |
FindLastIndex (предикат (Т)) | Ищет элемент, который соответствует условиям, определенным указанным предикатом, и возвращает нулевой индекс последнего вхождения во всем списке (T). |
FindLastIndex (Int32, Предикат (T)) | Ищет элемент, который соответствует условиям, определенным указанным предикатом, и возвращает нулевой индекс последнего вхождения в пределах диапазона элементов в Списке (T), который простирается от первого элемента до указанного индекса. |
FindLastIndex (Int32, Int32, Предикат (T)) | Выполняет поиск элемента, который соответствует условиям, определенным указанным предикатом, и возвращает нулевой индекс последнего вхождения в диапазоне элементов списка (T), который содержит указанное количество элементов и заканчивается указанным индексом. |
Для каждого | Выполняет указанное действие для каждого элемента списка (T). |
GetEnumerator | Возвращает перечислитель, который перебирает список (T). |
GetHashCode | Служит в качестве хэш-функции по умолчанию. (Унаследовано от Object.) |
GetRange | Создает поверхностную копию диапазона элементов в исходном списке (T). |
GetType | Получает тип текущего экземпляра. (Унаследовано от Object.) |
IndexOf (Т) | Выполняет поиск указанного объекта и возвращает нулевой индекс первого вхождения во всем списке (T). |
IndexOf (T, Int32) | Выполняет поиск указанного объекта и возвращает нулевой индекс первого вхождения в диапазоне элементов списка (T), который простирается от указанного индекса до последнего элемента. |
IndexOf (T, Int32, Int32) | Выполняет поиск указанного объекта и возвращает нулевой индекс первого вхождения в диапазоне элементов списка (T), который начинается с указанного индекса и содержит указанное количество элементов. |
Вставить | Вставляет элемент в список (T) по указанному индексу. |
InsertRange | Вставляет элементы коллекции в список (T) по указанному индексу. |
LastIndexOf (Т) | Ищет указанный объект и возвращает нулевой индекс последнего вхождения во всем Списке (T). |
LastIndexOf (T, Int32) | Выполняет поиск указанного объекта и возвращает нулевой индекс последнего вхождения в диапазоне элементов списка (T), который простирается от первого элемента до указанного индекса. |
LastIndexOf (T, Int32, Int32) | Выполняет поиск указанного объекта и возвращает нулевой индекс последнего вхождения в диапазоне элементов списка (T), который содержит указанное количество элементов и заканчивается указанным индексом. |
MemberwiseClone | Создает поверхностную копию текущего объекта. (Унаследовано от Object.) |
Удалить | Удаляет первое вхождение определенного объекта из списка (T). |
Удалить все | Удаляет все элементы, которые соответствуют условиям, заданным указанным предикатом. |
RemoveAt | Удаляет элемент по указанному индексу List (T). |
RemoveRange | Удаляет ряд элементов из списка (T). |
Задний ход() | Меняет порядок элементов во всем Списке (T). |
Обратный (Int32, Int32) | Меняет порядок элементов в указанном диапазоне. |
Сортировать() | Сортирует элементы во всем списке (T), используя компаратор по умолчанию. |
Сортировка (Сравнение (Т)) | Сортирует элементы во всем Списке (T), используя указанную Систему. Сравнение (Т). |
Сортировка (IComparer (Т)) | Сортирует элементы во всем Списке (T), используя указанный компаратор. |
Сортировка (Int32, Int32, IComparer (T)) | Сортирует элементы в диапазоне элементов в List (T), используя указанный компаратор. |
ToArray | Копирует элементы списка (T) в новый массив. |
Нанизывать | Возвращает строку, которая представляет текущий объект. (Унаследовано от Object.) |
TrimExcess | Устанавливает емкость для фактического количества элементов в Списке (T), если это число меньше порогового значения. |
TrueForAll | Определяет, соответствует ли каждый элемент в Списке (T) условиям, определенным указанным предикатом. |
пример
(* Creating a List *) open System.Collections.Generic let booksList = new List<string>() booksList.Add("Gone with the Wind") booksList.Add("Atlas Shrugged") booksList.Add("Fountainhead") booksList.Add("Thornbirds") booksList.Add("Rebecca") booksList.Add("Narnia") printfn"Total %d books" booksList.Count booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index]) booksList.Insert(2, "Roots") printfn("after inserting at index 2") printfn"Total %d books" booksList.Count booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index]) booksList.RemoveAt(3) printfn("after removing from index 3") printfn"Total %d books" booksList.Count booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
Когда вы компилируете и запускаете программу, она выдает следующий вывод: