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) |
Удалите элемент по указанному индексу из коллекции. |