ReadOnlySpan<T> 構造体

定義

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

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>
属性

注釈

ReadOnlySpan<T> は、スタックに割り当てられ、マネージド ヒープにエスケープできない ref 構造体 です。 ref 構造体型には、ボックス化できない、ラムダ式でキャプチャされる、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)

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

プロパティ

Empty

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

IsEmpty

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

Item[Int32]

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

Length

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

メソッド

CastUp<TDerived>(ReadOnlySpan<TDerived>)

TDerived の読み取り専用スパンを Tの読み取り専用スパンにキャストします。

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

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

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

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

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

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

ContainsAny<T>(ReadOnlySpan<T>, T, T)

value0 または value1の発生を検索します。

ContainsAny<T>(ReadOnlySpan<T>, T, T, T)

value0value1、または value2の発生を検索します。

ContainsAny<T>(ReadOnlySpan<T>, SearchValues<T>)

指定した valuesのいずれかが発生した箇所を検索します。

ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

指定した valuesのいずれかが発生した箇所を検索します。

ContainsAnyExcept<T>(ReadOnlySpan<T>, T)

指定した value以外の値を検索します。

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T)

value0 または value1以外の値を検索します。

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

value0value1、または value2以外の値を検索します。

ContainsAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

指定した values以外の値を検索します。

ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

指定した values以外の値を検索します。

ContainsAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

lowInclusivehighInclusiveの間の範囲外の値 (両端を含む) を検索します。

ContainsAnyInRange<T>(ReadOnlySpan<T>, T, T)

lowInclusivehighInclusiveの範囲内の任意の値を検索します。

Count<T>(ReadOnlySpan<T>, T)

指定した valuespanで発生した回数をカウントします。

Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

spanで発生 value 回数をカウントします。

EndsWith<T>(ReadOnlySpan<T>, 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>, SearchValues<T>)

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

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>, SearchValues<T>)

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

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

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

IndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

lowInclusive から highInclusiveまでの範囲を含む、値の最初のインデックスを検索します。

IndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

lowInclusive から highInclusiveまでの範囲内の任意の値の最初のインデックスを検索します (両端を含む)。

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>, SearchValues<T>)

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

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>, SearchValues<T>)

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

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

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

LastIndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

lowInclusivehighInclusiveの間の範囲外にある値の最後のインデックスを検索します。

LastIndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

lowInclusive から highInclusiveまでの範囲の値の最後のインデックスを検索します。値を含みます。

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

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

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

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

Replace<T>(ReadOnlySpan<T>, Span<T>, T, T)

sourcedestinationにコピーし、oldValue のすべての出現箇所を newValueに置き換えます。

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

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

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

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

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

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

Split<T>(ReadOnlySpan<T>, T)

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

Split<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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

SplitAny<T>(ReadOnlySpan<T>, SearchValues<T>)

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

SplitAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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

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

指定した値がスパンの先頭に表示されるかどうかを判断します。

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

読み取り専用スパンで指定された要素セットの先頭のすべての出現箇所をスパンから削除します。

適用対象

こちらもご覧ください