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

指定された配列全体で新しい ReadOnlySpan<T> を作成します。

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

指定インデックスで始まる配列の指定要素数を含む新しい 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)

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

Slice(Int32, 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> インスタンスが等しくないかどうかを示す値を返します。

拡張メソッド

ToImmutableArray<T>(ReadOnlySpan<T>)

指定した要素からコンテンツの変更できない配列を生成します。

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

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

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

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

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

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

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

other. の間spanで共有される共通プレフィックスの長さを検索します。

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

と . の間spanotherで共有される共通プレフィックスの長さを決定します。

Contains<T>(ReadOnlySpan<T>, T)

指定した値が読み取り専用スパンに存在するかどうかを示します。 値は IEquatable{T}.Equals(T) を使用して比較されます。

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

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

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

指定した値を検索し、それが最初に見つかった位置のインデックスを返します。 値は IEquatable{T}.Equals(T) を使用して比較されます。

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

指定したシーケンスを検索し、それが最初に見つかった位置のインデックスを返します。 値は IEquatable{T}.Equals(T) を使用して比較されます。

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

論理 OR 演算子を使用して IndexOf を数回呼び出すのと同様に、指定されたいずれかの値の最初のインデックスを検索します。

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

論理 OR 演算子を使用して IndexOf を数回呼び出すのと同様に、指定されたいずれかの値の最初のインデックスを検索します。

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

論理 OR 演算子を使用して IndexOf を数回呼び出すのと同様に、指定されたいずれかの値の最初のインデックスを検索します。

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

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

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

指定または value0 以外の値の最初のインデックスを検索します value1

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

指定した value0value1または以外の値の最初のインデックスを検索します value2

IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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

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

指定した値を検索し、それが最後に見つかった位置のインデックスを返します。 値は IEquatable{T}.Equals(T) を使用して比較されます。

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

指定したシーケンスを検索し、それが最後に見つかった位置のインデックスを返します。 値は IEquatable{T}.Equals(T) を使用して比較されます。

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

論理 OR 演算子で LastIndexOf を数回呼び出すのと同様に、指定された値のいずれかの最後のインデックスを検索します。

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

論理 OR 演算子で LastIndexOf を数回呼び出すのと同様に、指定された値のいずれかの最後のインデックスを検索します。

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

論理 OR 演算子で LastIndexOf を数回呼び出すのと同様に、指定された値のいずれかの最後のインデックスを検索します。

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

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

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

指定された value0 値または value1.. 以外の値の最後のインデックスを検索します。

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

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

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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

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

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

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

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

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

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

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

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

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

を使用して IEqualityComparer<T>要素を比較することで、2 つのシーケンスが等しいかどうかを判断します。

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

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

Trim<T>(ReadOnlySpan<T>, T)

指定された要素が先頭と末尾に現れる箇所をすべて、読み取り専用スパンから削除します。

Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

読み取り専用スパンで指定された一連の要素が先頭と末尾に現れる箇所をすべて、読み取り専用スパンから削除します。

TrimEnd<T>(ReadOnlySpan<T>, T)

読み取り専用スパンから、指定した要素が末尾に現れる箇所をすべて削除します。

TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

読み取り専用スパンで指定された一連の要素が末尾に現れる箇所をすべて、読み取り専用スパンから削除します。

TrimStart<T>(ReadOnlySpan<T>, T)

指定した要素が先頭に現れる箇所をすべてスパンから削除します。

TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

読み取り専用スパンで指定された一連の要素が先頭に現れる箇所をすべて、スパンから削除します。

適用対象

こちらもご覧ください