Span<T> 构造函数

定义

重载

Span<T>(T[])

在整个指定数组上创建新的 Span<T> 对象。

Span<T>(Void*, Int32)

从指定的内存地址开始,从指定 T 元素数创建新的 Span<T> 对象。

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

从指定索引开始,创建包含数组的指定元素数的新 Span<T> 对象。

Span<T>(T[])

在整个指定数组上创建新的 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 Span<T>null

适用于

Span<T>(Void*, Int32)

重要

此 API 不符合 CLS。

从指定的内存地址开始,从指定 T 元素数创建新的 Span<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

要包含在 Span<T> 中的 T 元素数。

属性

例外

T 是引用类型或包含指针,因此不能存储在非管理的内存中。

length 为负数。

注解

This constructor should be used with care, since it creates arbitrarily typed Ts from a void*-typed block of memory, and length is not checked. However, if the constructor succeeds in creating a new Span<T> object, all subsequent uses are correct.

适用于

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

从指定索引开始,创建包含数组的指定元素数的新 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> 中的元素数。

例外

arraynull,但 startlength 不为零。

  • 或 -

start 在数组的界限外。

  • 或 -

startlength 超过数组中的元素数。

T 为引用类型,并且 array 不是 T 类型的数组。

注解

此方法返回 default 何时 array 返回 null

适用于