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 構造体 です。 参照構造体型には、マネージド ヒープに昇格できないことを確認するためのいくつかの制限があります。これには、ボックス化できない、ラムダ式でキャプチャされる、型 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

読み取り専用スパンにある項目数。

メソッド

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

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

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

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

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

または の出現value0箇所を検索し、見つかった場合は を返しますtruevalue1 見つからない場合は を返します false

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

value1、または value2value0出現箇所を検索し、見つかった場合は を返しますtrue。 見つからない場合は を返します false

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

指定された values のいずれかの出現箇所を検索し、見つかった場合は を返します true 。 見つからない場合は を返します false

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

指定された values のいずれかの出現箇所を検索し、見つかった場合は を返します true 。 見つからない場合は を返します false

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

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

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

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

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

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

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

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

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

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

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

highInclusiveの間lowInclusiveの範囲外の値を検索します。

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

と の間lowInclusiveの範囲内の任意の値を検索し、見つかった場合は を返しますtruehighInclusive 見つからない場合は を返します false

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

で指定した value が発生した回数をカウントします span

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

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

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)

と の間lowInclusivehighInclusiveの範囲外の値の最初のインデックスを検索します。

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

と の間lowInclusivehighInclusiveの範囲内の任意の値の最初のインデックスを検索します。

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)

sourceを にコピーしdestination、 のすべての出現箇所を oldValuenewValue置き換えます。

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

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

適用対象

こちらもご覧ください