System.Buffers Namespace

The System.Buffers namespace contains types used in creating and managing memory buffers, such as those represented by Span<T> and Memory<T>.

Classes

ArrayBufferWriter<T>

Represents a heap-based, array-backed output sink into which data can be written.

ArrayPool<T>

Provides a resource pool that enables reusing instances of type T[].

BuffersExtensions

Provides extension methods for ReadOnlySequence<T>.

MemoryManager<T>

An abstract base class that is used to replace the implementation of Memory<T>.

MemoryPool<T>

Represents a pool of memory blocks.

ReadOnlySequenceSegment<T>

Represents a linked list of ReadOnlyMemory<T> nodes.

SequenceReaderExtensions

Provides extended functionality for the SequenceReader<T> class that allows reading of endian specific numeric values from binary data.

Structs

MemoryHandle

Provides a memory handle for a block of memory.

ReadOnlySequence<T>.Enumerator

Represents an enumerator over a ReadOnlySequence<T>.

ReadOnlySequence<T>

Represents a sequence that can read a sequential series of T.

SequenceReader<T>

Provides methods for reading binary and text data out of a ReadOnlySequence<T> with a focus on performance and minimal or zero heap allocations.

StandardFormat

Represents a standard format string without using an actual string.

Interfaces

IBufferWriter<T>

Represents an output sink into which T data can be written.

IMemoryOwner<T>

Identifies the owner of a block of memory who is responsible for disposing of the underlying memory appropriately.

IPinnable

Provides a mechanism for pinning and unpinning objects to prevent the garbage collector from moving them.

Enums

OperationStatus

Defines the values that can be returned from span-based operations that support processing of input contained in multiple discontiguous buffers.

Delegates

ReadOnlySpanAction<T,TArg>
SpanAction<T,TArg>