Span<T> 构造函数

定义

重载

Span<T>(T)

围绕指定的引用创建长度为 1 的新 Span<T>

Span<T>(T[])

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

Span<T>(Void*, Int32)

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

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

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

Span<T>(T)

Source:
Span.cs
Source:
Span.cs
Source:
Span.cs

围绕指定的引用创建长度为 1 的新 Span<T>

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[])

Source:
Span.cs
Source:
Span.cs
Source:
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)

Source:
Span.cs
Source:
Span.cs
Source:
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

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

属性

例外

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

length 为负数。

注解

此构造函数应谨慎使用,因为它从void*类型化内存块创建任意类型的 T,并且构造函数既不pointer验证也不length验证。

适用于

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

Source:
Span.cs
Source:
Span.cs
Source:
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> 中的元素数。

例外

arraynull,但 startlength 不为零。

- 或 -

start 在数组的界限外。

- 或 -

startlength 超过数组中的元素数。

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

注解

当 为 nullarraydefault此方法返回 。

适用于