ReadOnlySpan<T> 结构
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供任意内存连续区域的类型安全且内存安全的只读表示形式。
generic <typename T>
public value class ReadOnlySpan
public readonly ref struct ReadOnlySpan<T>
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))]
public readonly ref struct ReadOnlySpan<T>
type ReadOnlySpan<'T> = struct
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))>]
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)
类型参数
- T
ReadOnlySpan<T>中的项的类型。
- 继承
- 属性
注解
ReadOnlySpan<T>
是堆栈上分配的 ref 结构,永远无法转义到托管堆。 Ref 结构类型具有许多限制,以确保无法将其提升到托管堆,包括无法装箱、在 lambda 表达式中捕获、分配给类型 Object、分配给 dynamic
变量的变量,以及它们无法实现任何接口类型。
ReadOnlySpan<T>
实例通常用于引用数组或数组的一部分的元素。 但是,与数组不同,ReadOnlySpan<T>
实例可以指向堆栈上托管的内存、本机内存或内存。
构造函数
ReadOnlySpan<T>(T) |
在指定的引用周围创建长度为 1 的新 ReadOnlySpan<T>。 |
ReadOnlySpan<T>(T[]) |
在整个指定数组中创建新的 ReadOnlySpan<T>。 |
ReadOnlySpan<T>(T[], Int32, Int32) |
创建一个新的 ReadOnlySpan<T>,其中包含从指定索引开始的数组的指定数量的元素。 |
ReadOnlySpan<T>(Void*, Int32) |
从指定内存地址开始的指定数量的 |
属性
Empty |
返回空的 ReadOnlySpan<T>。 |
IsEmpty |
返回一个值,该值指示当前只读范围为空。 |
Item[Int32] |
从指定从零开始的索引处的只读范围获取项。 |
Length |
只读范围中的项数。 |
方法
CastUp<TDerived>(ReadOnlySpan<TDerived>) |
将 |
CopyTo(Span<T>) |
将此 ReadOnlySpan<T> 的内容复制到目标 Span<T>。 |
Equals(Object) |
已过时.
已过时.
不支持。 引发 NotSupportedException。 |
GetEnumerator() |
返回此 ReadOnlySpan<T>的枚举数。 |
GetHashCode() |
已过时.
不支持。 引发 NotSupportedException。 |
GetPinnableReference() |
返回对可用于固定的 T 类型的对象的只读引用。 此方法旨在支持 .NET 编译器,不应由用户代码调用。 |
Slice(Int32) |
形成从当前只读范围开始的切片,该范围从指定的索引处开始。 |
Slice(Int32, Int32) |
形成从指定长度的指定索引处开始的当前只读范围的切片。 |
ToArray() |
将此只读范围的内容复制到新的数组中。 |
ToString() |
返回此 ReadOnlySpan<T>的字符串表示形式。 |
TryCopyTo(Span<T>) |
尝试将此 ReadOnlySpan<T> 的内容复制到 Span<T> 中,并返回一个值以指示操作是否成功。 |
运算符
Equality(ReadOnlySpan<T>, ReadOnlySpan<T>) |
返回一个值,该值指示两个 ReadOnlySpan<T> 实例是否相等。 |
Implicit(ArraySegment<T> to ReadOnlySpan<T>) |
定义 ArraySegment<T> 到 ReadOnlySpan<T>的隐式转换。 |
Implicit(T[] to ReadOnlySpan<T>) |
定义数组到 ReadOnlySpan<T>的隐式转换。 |
Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>) |
返回一个值,该值指示两个 ReadOnlySpan<T> 实例是否不相等。 |