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


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.

Комментарии

Если arraynull, этот конструктор возвращает 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 отрицательно.

Комментарии

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

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

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, если arraynull.

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