ReadOnlySpan<T> ReadOnlySpan<T> ReadOnlySpan<T> ReadOnlySpan<T> Struct

定義

任意のメモリの隣接した領域をタイプセーフかつメモリセーフの読み取り専用の表現で表します。Provides a type-safe and memory-safe read-only representation of a contiguous region of arbitrary memory.

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

型パラメーター

T

ReadOnlySpan<T>内の項目の型。The type of items in the ReadOnlySpan<T>.

継承
ReadOnlySpan<T>ReadOnlySpan<T>ReadOnlySpan<T>ReadOnlySpan<T>

注釈

ReadOnlySpan<T>は、スタックに割り当てられ、マネージヒープにはエスケープできないref 構造体です。ReadOnlySpan<T> is a ref struct that is allocated on the stack and can never escape to the managed heap. Ref struct 型には、マネージヒープに昇格できないようにするためのいくつかの制限があります。たとえば、ボックス化したり、ラムダ式でキャプチャしObjectたり、変数dynamicに割り当てられた変数に割り当てたり、インターフェイス型を実装することはできません。Ref struct types have a number of restrictions to ensure that they cannot be promoted to the managed heap, including that they can't be boxed, captured in lambda expressions, assigned to variables of type Object, assigned to dynamic variables, and they cannot implement any interface type.

ReadOnlySpan<T>インスタンスは、配列または配列の一部の要素を参照するためによく使用されます。A ReadOnlySpan<T> instance is often used to reference the elements of an array or a portion of an array. ただし、配列とは異なり、ReadOnlySpan<T>インスタンスは、マネージド メモリ、ネイティブ メモリ、スタック上で管理されたメモリを指すことができます。Unlike an array, however, a ReadOnlySpan<T> instance can point to managed memory, native memory, or memory managed on the stack.

コンストラクター

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

指定された配列全体で新しい ReadOnlySpan<T> を作成します。Creates a new ReadOnlySpan<T> over the entirety of a specified array.

ReadOnlySpan<T>(Void*, Int32) ReadOnlySpan<T>(Void*, Int32) ReadOnlySpan<T>(Void*, Int32) ReadOnlySpan<T>(Void*, Int32)

指定されたメモリ アドレスで始まる指定された T 要素数から新しい ReadOnlySpan<T> を作成します。Creates a new ReadOnlySpan<T> from a specified number of T elements starting at a specified memory address.

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

指定インデックスで始まる配列の指定要素数を含む新しい ReadOnlySpan<T> を作成します。Creates a new ReadOnlySpan<T> that includes a specified number of elements of an array starting at a specified index.

プロパティ

Empty Empty Empty Empty

空の ReadOnlySpan<T> を返します。Returns an empty ReadOnlySpan<T>.

IsEmpty IsEmpty IsEmpty IsEmpty

現在の読み取り専用スパンが空であることを示す値を返します。Returns a value that indicates the current read-only span is empty.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

読み取り専用スパンから、0 から始まる指定したインデックスにある項目を取得します。Gets an item from the read-only span at the specified zero-based index.

Length Length Length Length

読み取り専用スパンにある項目数。The number of items in the read-only span.

メソッド

CopyTo(Span<T>) CopyTo(Span<T>) CopyTo(Span<T>) CopyTo(Span<T>)

この ReadOnlySpan<T> の内容をコピー先 Span<T> にコピーします。Copies the contents of this ReadOnlySpan<T> into a destination Span<T>.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

サポートされていません。Not supported. NotSupportedException をスローします。Throws a NotSupportedException.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

この ReadOnlySpan<T> の列挙子を返します。Returns an enumerator for this ReadOnlySpan<T>.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

サポートされていません。Not supported. NotSupportedException をスローします。Throws a NotSupportedException.

Slice(Int32) Slice(Int32) Slice(Int32) Slice(Int32)

指定のインデックスで始まる現在の読み取り専用スパンからスライスを形成します。Forms a slice out of the current read-only span that begins at a specified index.

Slice(Int32, Int32) Slice(Int32, Int32) Slice(Int32, Int32) Slice(Int32, Int32)

指定インデックスから始まる現在の読み取り専用スパンから、指定の長さでスライスを形成します。Forms a slice out of the current read-only span starting at a specified index for a specified length.

ToArray() ToArray() ToArray() ToArray()

この読み取り専用スパンの内容を新しい配列にコピーします。Copies the contents of this read-only span into a new array.

ToString() ToString() ToString() ToString()

この ReadOnlySpan<T> の文字列表現を返します。Returns the string representation of this ReadOnlySpan<T>.

TryCopyTo(Span<T>) TryCopyTo(Span<T>) TryCopyTo(Span<T>) TryCopyTo(Span<T>)

この ReadOnlySpan<T> コンテンツの Span<T> へのコピーを試行して、操作が成功したかどうかを示す値を返します。Attempts to copy the contents of this ReadOnlySpan<T> into a Span<T> and returns a value to indicate whether or not the operation succeeded.

演算子

Equality(ReadOnlySpan<T>, ReadOnlySpan<T>) Equality(ReadOnlySpan<T>, ReadOnlySpan<T>) Equality(ReadOnlySpan<T>, ReadOnlySpan<T>) Equality(ReadOnlySpan<T>, ReadOnlySpan<T>)

2 つの ReadOnlySpan<T> インスタンスが等しいかどうかを示す値を返します。Returns a value that indicates whether two ReadOnlySpan<T> instances are equal.

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

ArraySegment<T> から ReadOnlySpan<T> への暗黙の型変換を定義します。Defines an implicit conversion of an ArraySegment<T> to a ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>) Implicit(T[] to ReadOnlySpan<T>) Implicit(T[] to ReadOnlySpan<T>) Implicit(T[] to ReadOnlySpan<T>)

配列から ReadOnlySpan<T> への暗黙の型変換を定義します。Defines an implicit conversion of an array to a ReadOnlySpan<T>.

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

2 つの ReadOnlySpan<T> インスタンスが等しくないかどうかを示す値を返します。Returns a value that indicates whether two ReadOnlySpan<T> instances are not equal.

拡張メソッド

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

指定した IComparable<T> ジェネリック インターフェイスを使用し、並べ替えられた ReadOnlySpan<T> 全体の中から値を検索します。Searches an entire sorted ReadOnlySpan<T> for a value using the specified IComparable<T> generic interface.

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

指定した TComparer ジェネリック型を使用し、並べ替えられた ReadOnlySpan<T> 全体の中から、指定した値を検索します。Searches an entire sorted ReadOnlySpan<T> for a specified value using the specified TComparer generic type.

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

指定した TComparable ジェネリック型を使用し、並べ替えられた ReadOnlySpan<T> 全体の中から値を検索します。Searches an entire sorted ReadOnlySpan<T> for a value using the specified TComparable generic type.

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

指定した値が読み取り専用スパンに存在するかどうかを示します。Indicates whether a specified value is found in a read-only span. 値は IEquatable{T}.Equals(T) を使用して比較されます。Values are compared using IEquatable{T}.Equals(T).

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

指定されたシーケンスが読み取り専用スパンの末尾にあるかどうかを判断します。Determines whether the specified sequence appears at the end of a read-only span.

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

指定した値を検索し、それが最初に見つかった位置のインデックスを返します。Searches for the specified value and returns the index of its first occurrence. 値は IEquatable{T}.Equals(T) を使用して比較されます。Values are compared using IEquatable{T}.Equals(T).

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

指定したシーケンスを検索し、それが最初に見つかった位置のインデックスを返します。Searches for the specified sequence and returns the index of its first occurrence. 値は IEquatable{T}.Equals(T) を使用して比較されます。Values are compared using IEquatable{T}.Equals(T).

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

論理 OR 演算子を使用して IndexOf を数回呼び出すのと同様に、指定されたいずれかの値の最初のインデックスを検索します。Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

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

論理 OR 演算子を使用して IndexOf を数回呼び出すのと同様に、指定されたいずれかの値の最初のインデックスを検索します。Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

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

論理 OR 演算子を使用して IndexOf を数回呼び出すのと同様に、指定されたいずれかの値の最初のインデックスを検索します。Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

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

指定した値を検索し、それが最後に見つかった位置のインデックスを返します。Searches for the specified value and returns the index of its last occurrence. 値は IEquatable{T}.Equals(T) を使用して比較されます。Values are compared using IEquatable{T}.Equals(T).

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

指定したシーケンスを検索し、それが最後に見つかった位置のインデックスを返します。Searches for the specified sequence and returns the index of its last occurrence. 値は IEquatable{T}.Equals(T) を使用して比較されます。Values are compared using IEquatable{T}.Equals(T).

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

論理 OR 演算子で LastIndexOf を数回呼び出すのと同様に、指定された値のいずれかの最後のインデックスを検索します。Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

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

論理 OR 演算子で LastIndexOf を数回呼び出すのと同様に、指定された値のいずれかの最後のインデックスを検索します。Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

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

論理 OR 演算子で LastIndexOf を数回呼び出すのと同様に、指定された値のいずれかの最後のインデックスを検索します。Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

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

2 つの読み取り専用シーケンスがメモリ内で重なり合うかどうかを判断します。Determines whether two read-only sequences overlap in memory.

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

2 つの読み取り専用シーケンスがメモリ内で重なり合うかどうかを判断し、要素のオフセットを出力します。Determines whether two read-only sequences overlap in memory and outputs the element offset.

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

IComparable{T}.CompareTo(T) を使用して要素を比較することで、2 つの読み取り専用シーケンスの相対順序を決定します。Determines the relative order of two read-only sequences by comparing their elements using IComparable{T}.CompareTo(T).

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

IEquatable{T}.Equals(T) を使用して要素を比較することで、2 つの読み取り専用シーケンスが等しいかどうかを判断します。Determines whether two read-only sequences are equal by comparing the elements using IEquatable{T}.Equals(T).

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

指定されたシーケンスが読み取り専用スパンの先頭にあるかどうかを判断します。Determines whether a specified sequence appears at the start of a read-only span.

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

指定された要素が先頭と末尾に現れる箇所をすべて、読み取り専用スパンから削除します。Removes all leading and trailing occurrences of a specified element from a read-only span.

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

読み取り専用スパンで指定された一連の要素が先頭と末尾に現れる箇所をすべて、読み取り専用スパンから削除します。Removes all leading and trailing occurrences of a set of elements specified in a read-only span from a read-only span.

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

読み取り専用スパンから、指定した要素が末尾に現れる箇所をすべて削除します。Removes all trailing occurrences of a specified element from a read-only span.

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

読み取り専用スパンで指定された一連の要素が末尾に現れる箇所をすべて、読み取り専用スパンから削除します。Removes all trailing occurrences of a set of elements specified in a read-only span from a read-only span.

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

指定した要素が先頭に現れる箇所をすべてスパンから削除します。Removes all leading occurrences of a specified element from the span.

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

読み取り専用スパンで指定された一連の要素が先頭に現れる箇所をすべて、スパンから削除します。Removes all leading occurrences of a set of elements specified in a read-only span from the span.

適用対象