Span<T> 構造体

定義

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

generic <typename T>
public value class Span
public readonly ref struct Span<T>
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.SpanMarshaller<,>))]
public readonly ref struct Span<T>
type Span<'T> = struct
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.SpanMarshaller<,>))>]
type Span<'T> = struct
Public Structure Span(Of T)

型パラメーター

T

Span<T>の項目の種類。

継承
Span<T>
属性

注釈

この API の詳細については、「Span<T> の補足 API 解説」を参照してください。

コンストラクター

Span<T>(T)

指定した参照の周囲に長さ 1 の新しい Span<T> を作成します。

Span<T>(T[])

指定された配列全体で新しい Span<T> オブジェクトを作成します。

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

指定インデックスで始まる配列の指定要素数を含む新しい Span<T> オブジェクトを作成します。

Span<T>(Void*, Int32)

指定したメモリ アドレスから始まる、指定した数のT要素から新しいSpan<T>オブジェクトを作成します。

プロパティ

Empty

空の Span<T> オブジェクトを返します。

IsEmpty

現在の Span<T> が空かどうかを示す値を返します。

Item[Int32]

0 から始まる指定したインデックス位置にある要素を取得します。

Length

現在のスパンの長さを返します。

メソッド

Clear()

この Span<T> オブジェクトの内容を消去します。

CopyTo(Span<T>)

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

Equals(Object)
古い.
古い.

このメソッドを呼び出すことはできません。

Fill(T)

このスパンの要素に指定の値を入力します。

GetEnumerator()

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

GetHashCode()
古い.

NotSupportedException をスローします。

GetPinnableReference()

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

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

Slice(Int32)

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

Slice(Int32, Int32)

指定インデックスから始まる現在のスパンからスライスを指定の長さで形成します。

ToArray()

このスパンの内容を新しい配列にコピーします。

ToString()

この Span<T> オブジェクトの文字列表現を返します。

TryCopyTo(Span<T>)

コピー先 Span<T> に対して現在の Span<T> のコピーを試行し、コピー操作が成功したかどうかを示す値を返します。

演算子

Equality(Span<T>, Span<T>)

2 つの Span<T> オブジェクトが等しいかどうかを示す値を返します。

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

ArraySegment<T> から Span<T> への暗黙の型変換を定義します。

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

Span<T> から ReadOnlySpan<T> への暗黙の型変換を定義します。

Implicit(T[] to Span<T>)

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

Inequality(Span<T>, Span<T>)

2 つの Span<T> オブジェクトが等しくないかどうかを示す値を返します。

拡張メソッド

ToImmutableArray<T>(Span<T>)

スパンを変更できない配列に変換します。

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

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

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

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

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

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

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

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

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

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

Contains<T>(Span<T>, T)

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

ContainsAny<T>(Span<T>, T, T)

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

ContainsAny<T>(Span<T>, T, T, T)

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

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

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

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

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

ContainsAnyExcept<T>(Span<T>, T)

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

ContainsAnyExcept<T>(Span<T>, T, T)

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

ContainsAnyExcept<T>(Span<T>, T, T, T)

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

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

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

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

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

ContainsAnyExceptInRange<T>(Span<T>, T, T)

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

ContainsAnyInRange<T>(Span<T>, T, T)

highInclusiveを含む範囲lowInclusiveの任意の値を検索し、見つかった場合は を返しますtrue。 見つからない場合は を返します false

Count<T>(Span<T>, T)

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

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

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

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

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

IndexOf<T>(Span<T>, T)

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

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

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

IndexOfAny<T>(Span<T>, T, T)

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

IndexOfAny<T>(Span<T>, T, T, T)

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

IndexOfAny<T>(Span<T>, SearchValues<T>)

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

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

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

IndexOfAnyExcept<T>(Span<T>, T)

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

IndexOfAnyExcept<T>(Span<T>, T, T)

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

IndexOfAnyExcept<T>(Span<T>, T, T, T)

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

IndexOfAnyExcept<T>(Span<T>, SearchValues<T>)

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

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

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

IndexOfAnyExceptInRange<T>(Span<T>, T, T)

と の範囲 lowInclusive を含む範囲外の値の最初のインデックスを highInclusive検索します。

IndexOfAnyInRange<T>(Span<T>, T, T)

と を含む範囲内 lowInclusive の任意の値の最初のインデックスを highInclusive検索します。

LastIndexOf<T>(Span<T>, T)

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

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

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

LastIndexOfAny<T>(Span<T>, T, T)

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

LastIndexOfAny<T>(Span<T>, T, T, T)

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

LastIndexOfAny<T>(Span<T>, SearchValues<T>)

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

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

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

LastIndexOfAnyExcept<T>(Span<T>, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T, T, T)

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

LastIndexOfAnyExcept<T>(Span<T>, SearchValues<T>)

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

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

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

LastIndexOfAnyExceptInRange<T>(Span<T>, T, T)

と の範囲 lowInclusive を含む範囲外の値の最後のインデックスを highInclusive検索します。

LastIndexOfAnyInRange<T>(Span<T>, T, T)

と を含む範囲内 lowInclusive の値の最後のインデックスを highInclusive検索します。

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

スパンと読み取り専用スパンがメモリ内で重なり合うかどうかを判断します。

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

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

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

出現するすべての oldValuenewValue で置き換えます。

Reverse<T>(Span<T>)

スパン全体の要素のシーケンスを反転させます。

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

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

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

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

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

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

Sort<T>(Span<T>)

の各要素の実装を使用して、IComparable<T>全体Span<T>の要素をSpan<T>並べ替えます。

Sort<T>(Span<T>, Comparison<T>)

指定した Comparison<T> を使用して、Span<T> 全体内の要素を並べ替えます。

Sort<T,TComparer>(Span<T>, TComparer)

TComparer を使用して、Span<T> 全体の要素を並べ替えます。

Sort<TKey,TValue>(Span<TKey>, Span<TValue>)

スパンのペア (一方がキーを格納し、他方がそれらに対応する項目を格納する) を、最初の Span<T> 内のキーに基づき、各キーによって実装された IComparable<T> を使用して並べ替えます。

Sort<TKey,TValue>(Span<TKey>, Span<TValue>, Comparison<TKey>)

スパンのペア (一方がキーを格納し、他方がそれらに対応する項目を格納する) を、最初の Span<T> 内のキーに基づき、指定した比較を使用して並べ替えます。

Sort<TKey,TValue,TComparer>(Span<TKey>, Span<TValue>, TComparer)

スパンのペア (一方がキーを格納し、他方がそれらに対応する項目を格納する) を、最初の Span<T> 内のキーに基づき、指定した比較子を使用して並べ替えます。

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

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

Trim<T>(Span<T>, T)

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

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

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

TrimEnd<T>(Span<T>, T)

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

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

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

TrimStart<T>(Span<T>, T)

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

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

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

適用対象

こちらもご覧ください