Поделиться через


OneOrMany<T> Структура

Определение

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

generic <typename T>
 where T : classpublic value class OneOrMany
[System.Diagnostics.DebuggerDisplay("Count = {Count}")]
public struct OneOrMany<T> where T : class
[<System.Diagnostics.DebuggerDisplay("Count = {Count}")>]
type OneOrMany<'T (requires 'T : null)> = struct
Public Structure OneOrMany(Of T)

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

T

Элементный тип, который должен быть ссылочным типом. Примечание. null Не может использоваться в качестве значения в коллекции.

Наследование
OneOrMany<T>
Атрибуты

Комментарии

Хотя у этого типа есть GetEnumerator() метод , он не реализует IEnumerable<T>. Это необходимо, чтобы исключить непреднамеренное упаковывание, которое будет происходить, если тип значения передается в метод или возвращается из метода через его интерфейс. Коллекция по-прежнему может быть перечислена в операторах foreach (так как компилятор использует сопоставление шаблонов для этого), но не в других местах, например в выражениях LINQ.

Конструкторы

OneOrMany<T>(Int32)

Создает экземпляр класса OneOrMany<T> , который будет использовать заданную емкость для создания внутреннего списка.

OneOrMany<T>(List<T>)

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

OneOrMany<T>(T)

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

Свойства

Count

Возвращает количество элементов в коллекции.

Item[Int32]

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

Методы

Add(T)

Добавьте новое значение в коллекцию.

AsList()

Возвращает базовый список, если этот объект содержит > 1 элемент, в противном случае — значение NULL.

GetEnumerator()

Получение эффективного перечислителя для коллекции

RemoveAt(Int32)

Удалите элемент по указанному индексу из коллекции.

Применяется к