Span<T> Конструкторы

Определение

Перегрузки

Span<T>(T)

Создает новый Span<T> объект длиной 1 вокруг указанной ссылки.

Span<T>(T[])

Создает новый объект Span<T> по всему указанному массиву.

Span<T>(Void*, Int32)

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

Span<T>(T[], Int32, Int32)

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

Span<T>(T)

Исходный код:
Span.cs
Исходный код:
Span.cs
Исходный код:
Span.cs

Создает новый Span<T> объект длиной 1 вокруг указанной ссылки.

public:
 Span(T % reference);
public Span (ref T reference);
new Span<'T> : 'T -> Span<'T>
Public Sub New (ByRef reference As T)

Параметры

reference
T

Ссылка на данные.

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

Span<T>(T[])

Исходный код:
Span.cs
Исходный код:
Span.cs
Исходный код:
Span.cs

Создает новый объект Span<T> по всему указанному массиву.

public:
 Span(cli::array <T> ^ array);
public Span (T[]? array);
public Span (T[] array);
new Span<'T> : 'T[] -> Span<'T>
Public Sub New (array As T())

Параметры

array
T[]

Массив, из которого создается объект Span<T>.

Исключения

T является ссылочным типом, а array не является массивом типа T.

Комментарии

Если array имеет значение null, этот конструктор возвращает .nullSpan<T>

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

Span<T>(Void*, Int32)

Исходный код:
Span.cs
Исходный код:
Span.cs
Исходный код:
Span.cs

Важно!

Этот API несовместим с CLS.

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

public:
 Span(void* pointer, int length);
[System.CLSCompliant(false)]
public Span (void* pointer, int length);
[<System.CLSCompliant(false)>]
new Span<'T> : nativeptr<unit> * int -> Span<'T>

Параметры

pointer
Void*

Указатель на начальный адрес указанного числа элементов T в памяти.

length
Int32

Число элементов T, которые будут включены в Span<T>.

Атрибуты

Исключения

T является ссылочным типом или содержит указатели и поэтому не может храниться в неуправляемой памяти.

length является отрицательным значением.

Комментарии

Этот конструктор следует использовать с осторожностью, так как он создает произвольно типизированные Ts из void*блока памяти с типизированным типом, и ни , ни lengthpointer не проверяются конструктором.

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

Span<T>(T[], Int32, Int32)

Исходный код:
Span.cs
Исходный код:
Span.cs
Исходный код:
Span.cs

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

public:
 Span(cli::array <T> ^ array, int start, int length);
public Span (T[]? array, int start, int length);
public Span (T[] array, int start, int length);
new Span<'T> : 'T[] * int * int -> Span<'T>
Public Sub New (array As T(), start As Integer, length As Integer)

Параметры

array
T[]

Исходный массив.

start
Int32

Индекс первого элемента, который будет включен в новый объект Span<T>.

length
Int32

Количество элементов, которые будут включены в новый объект Span<T>.

Исключения

array имеет значение null, но start или length не равно нулю.

-или-

start выходит за пределы растрового массива.

-или-

start и length превышает количество элементов в массиве.

T является ссылочным типом, а array не является массивом типа T.

Комментарии

Этот метод возвращает значение default , если array имеет значение null.

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