ReadOnlySpan<T> 構造体

定義

任意のメモリの連続した領域の型セーフでメモリ セーフな読み取り専用表現を提供します。

generic <typename T>
public value class ReadOnlySpan
public readonly ref struct ReadOnlySpan<T>
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)

型パラメーター

T

ReadOnlySpan<T>内の項目の種類。

継承
ReadOnlySpan<T>

注釈

ReadOnlySpan<T> は、スタックに割り当てられ、マネージド ヒープにエスケープできない ref 構造体 です。 ref 構造体型には、ボックス化できない、ラムダ式でキャプチャされる、 Object型の変数に割り当てられる、 dynamic 変数に割り当てられる、インターフェイス型を実装できないなど、マネージド ヒープに昇格できないことを保証するためのいくつかの制限があります。

ReadOnlySpan<T> インスタンスは、配列の要素または配列の一部を参照するためによく使用されます。 ただし、配列とは異なり、ReadOnlySpan<T>インスタンスは、マネージド メモリ、ネイティブ メモリ、スタック上で管理されたメモリを指すことができます。

コンストラクター

名前 説明
ReadOnlySpan<T>(T[], Int32, Int32)

指定したインデックスから始まる配列の指定した数の要素を含む新しい ReadOnlySpan<T> を作成します。

ReadOnlySpan<T>(T[])

指定した配列全体にわたって新しい ReadOnlySpan<T> を作成します。

ReadOnlySpan<T>(Void*, Int32)

指定したメモリ アドレスから始まる、指定した数のT要素から新しいReadOnlySpan<T>を作成します。

プロパティ

名前 説明
Empty

空の ReadOnlySpan<T>を返します。

IsEmpty

現在の読み取り専用スパンが空であることを示す値を返します。

Item[Int32]

指定した 0 から始まるインデックス位置にある読み取り専用スパンから項目を取得します。

Length

読み取り専用スパン内の項目の数。

メソッド

名前 説明
CopyTo(Span<T>)

この ReadOnlySpan<T> の内容をコピー先の Span<T>にコピーします。

Equals(Object)
古い.

サポートされていません。 NotSupportedException をスローします。

GetEnumerator()

この ReadOnlySpan<T>の列挙子を返します。

GetHashCode()
古い.

サポートされていません。 NotSupportedException をスローします。

GetPinnableReference()

ピン留めに使用できる T 型のオブジェクトへの読み取り専用参照を返します。

このメソッドは、.NET コンパイラをサポートすることを目的としており、ユーザー コードによって呼び出されるものではありません。

Slice(Int32, Int32)

指定した長さの指定したインデックスから始まる、現在の読み取り専用スパンからスライスを形成します。

Slice(Int32)

指定したインデックスから始まる現在の読み取り専用スパンからスライスを形成します。

ToArray()

この読み取り専用スパンの内容を新しい配列にコピーします。

ToString()

この ReadOnlySpan<T>の文字列形式を返します。

TryCopyTo(Span<T>)

この ReadOnlySpan<T> の内容を Span<T> にコピーしようとし、操作が成功したかどうかを示す値を返します。

演算子

名前 説明
Equality(ReadOnlySpan<T>, ReadOnlySpan<T>)

2 つの ReadOnlySpan<T> インスタンスが等しいかどうかを示す値を返します。

Implicit(ArraySegment<T> to ReadOnlySpan<T>)

ArraySegment<T>からReadOnlySpan<T>への暗黙的な変換を定義します。

Implicit(T[] to ReadOnlySpan<T>)

配列から ReadOnlySpan<T>への暗黙的な変換を定義します。

Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>)

2 つの ReadOnlySpan<T> インスタンスが等しくないかどうかを示す値を返します。

拡張メソッド

名前 説明
BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable)

指定したTComparableジェネリック型を使用して、並べ替えられたReadOnlySpan<T>全体で値を検索します。

BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer)

指定したTComparerジェネリック型を使用して、並べ替えられたReadOnlySpan<T>全体で指定した値を検索します。

BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>)

指定したIComparable<T>ジェネリック インターフェイスを使用して、並べ替えられたReadOnlySpan<T>全体で値を検索します。

EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

指定したシーケンスが読み取り専用スパンの末尾に表示されるかどうかを判断します。

IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

指定したシーケンスを検索し、最初に出現するインデックスを返します。

IndexOf<T>(ReadOnlySpan<T>, T)

指定した値を検索し、最初に出現するインデックスを返します。

IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

指定した値の最初のインデックスを検索します。

IndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

指定した値の最初のインデックスを検索します。

IndexOfAny<T>(ReadOnlySpan<T>, T, T)

指定した値の最初のインデックスを検索します。

LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

指定したシーケンスを検索し、最後に出現したシーケンスのインデックスを返します。

LastIndexOf<T>(ReadOnlySpan<T>, T)

指定した値を検索し、最後に出現したインデックスを返します。

LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

指定した値の最後のインデックスを検索します。

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

指定した値の最後のインデックスを検索します。

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T)

指定した値の最後のインデックスを検索します。

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32)

2 つの読み取り専用シーケンスがメモリ内で重複し、要素のオフセットを出力するかどうかを決定します。

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

メモリ内で 2 つの読み取り専用シーケンスが重複するかどうかを判断します。

SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

IComparable{T} を使用して要素を比較することで、2 つの読み取り専用シーケンスの相対順序を決定します。CompareTo(T)。

SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

IEquatable{T} を使用して要素を比較することで、2 つの読み取り専用シーケンスが等しいかどうかを判断します。Equals(T)。

StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

指定したシーケンスが読み取り専用スパンの先頭に表示されるかどうかを判断します。

適用対象

こちらもご覧ください