Memory<T> 構造体

定義

メモリの連続した領域を表します。

generic <typename T>
public value class Memory : IEquatable<Memory<T>>
generic <typename T>
public value class Memory
public readonly struct Memory<T> : IEquatable<Memory<T>>
public readonly struct Memory<T>
type Memory<'T> = struct
Public Structure Memory(Of T)
Implements IEquatable(Of Memory(Of T))
Public Structure Memory(Of T)

型パラメーター

T

Memory<T>内の項目の種類。

継承
Memory<T>
実装

注釈

Span<T>と同様に、Memory<T>はメモリの連続した領域を表します。 ただし、 Span<T>とは異なり、 Memory<T>ref 構造体ではありません。 つまり、 Memory<T> はマネージド ヒープに配置できますが、 Span<T> は配置できません。 その結果、 Memory<T> 構造体には、 Span<T> インスタンスと同じ制限はありません。 具体的には次のとおりです。

  • クラスのフィールドとして使用できます。

  • awaitおよびyield境界を越えて使用できます。

Memory<T>に加えて、System.ReadOnlyMemory<T>を使用して、変更できないメモリまたは読み取り専用メモリを表すことができます。

コンストラクター

名前 説明
Memory<T>(T[], Int32, Int32)

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

Memory<T>(T[])

指定した配列全体にわたって新しい Memory<T> オブジェクトを作成します。

プロパティ

名前 説明
Empty

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

IsEmpty

現在のインスタンスが空かどうかを示します。

Length

現在のインスタンス内の項目の数を取得します。

Span

現在のインスタンスからスパンを返します。

メソッド

名前 説明
CopyTo(Memory<T>)

Memory<T> オブジェクトの内容をコピー先のオブジェクトMemory<T>コピーします。

Equals(Memory<T>)

指定した Memory<T> オブジェクトが現在のオブジェクトと等しいかどうかを判断します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

GetHashCode()

このインスタンスのハッシュ コードを返します。

Pin()

Memory<T> オブジェクトのハンドルを作成します。

Slice(Int32, Int32)

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

Slice(Int32)

指定したインデックスから始まる現在のメモリからスライスを形成します。

ToArray()

メモリから新しい配列に内容をコピーします。

ToString()

この Memory<T> オブジェクトの文字列形式を返します。

TryCopyTo(Memory<T>)

メモリの内容をコピー先の Memory<T> インスタンスにコピーします。

演算子

名前 説明
Implicit(ArraySegment<T> to Memory<T>)

ArraySegment<T> オブジェクトからMemory<T> オブジェクトへの暗黙的な変換を定義します。

Implicit(Memory<T> to ReadOnlyMemory<T>)

Memory<T> オブジェクトからReadOnlyMemory<T> オブジェクトへの暗黙的な変換を定義します。

Implicit(T[] to Memory<T>)

配列から Memory<T> オブジェクトへの暗黙的な変換を定義します。

拡張メソッド

名前 説明
Trim<T>(Memory<T>, ReadOnlySpan<T>)

メモリ領域から、読み取り専用スパンで指定された要素のセットの先頭と末尾の出現をすべて削除します。

Trim<T>(Memory<T>, T)

指定した要素の先頭と末尾のすべての出現箇所をメモリ領域から削除します。

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

メモリ領域から、読み取り専用スパンで指定された一連の要素の後続の出現をすべて削除します。

TrimEnd<T>(Memory<T>, T)

文字メモリ領域から、指定した要素の後続のすべての出現箇所を削除します。

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

読み取り専用スパンで指定された一連の要素の先頭のすべての出現箇所をメモリ領域から削除します。

TrimStart<T>(Memory<T>, T)

メモリ領域から、指定した要素の先頭のすべての出現箇所を削除します。

適用対象

こちらもご覧ください