# ValueSerializer&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/)

## Deserialize(ArraySegment&lt;byte&gt;, T) {#deserialize-system-arraysegment-byte-ref-t-fcd2dfc4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-arraysegment-byte-ref-t-fcd2dfc4/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(ArraySegment<byte> source, scoped ref T result)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ArraySegment<byte>`): The source buffer.
- `result` (`T`): The deserialized value.

### Returns

The deserialized value.

## Deserialize(ArraySegment&lt;byte&gt;, T, SerializerSession) {#deserialize-system-arraysegment-byte-ref-t-orleans-serialization-session-seriali-f94e5622}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-arraysegment-byte-ref-t-orleans-serialization-session-seriali-f94e5622/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(ArraySegment<byte> source, scoped ref T result, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ArraySegment<byte>`): The source buffer.
- `result` (`T`): The deserialized value.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(ReadOnlyMemory&lt;byte&gt;, T) {#deserialize-system-readonlymemory-byte-ref-t-fd4c5d45}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-readonlymemory-byte-ref-t-fd4c5d45/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(ReadOnlyMemory<byte> source, scoped ref T result)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlyMemory<byte>`): The source buffer.
- `result` (`T`): The deserialized value.

### Returns

The deserialized value.

## Deserialize(ReadOnlyMemory&lt;byte&gt;, T, SerializerSession) {#deserialize-system-readonlymemory-byte-ref-t-orleans-serialization-session-seria-843663a1}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-readonlymemory-byte-ref-t-orleans-serialization-session-seria-843663a1/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(ReadOnlyMemory<byte> source, scoped ref T result, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlyMemory<byte>`): The source buffer.
- `result` (`T`): The deserialized value.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(ReadOnlySequence&lt;byte&gt;, T) {#deserialize-system-buffers-readonlysequence-byte-ref-t-ad21c147}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-buffers-readonlysequence-byte-ref-t-ad21c147/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(ReadOnlySequence<byte> source, scoped ref T result)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlySequence<byte>`): The source buffer.
- `result` (`T`): The deserialized value.

### Returns

The deserialized value.

## Deserialize(ReadOnlySequence&lt;byte&gt;, T, SerializerSession) {#deserialize-system-buffers-readonlysequence-byte-ref-t-orleans-serialization-ses-91fddc0f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-buffers-readonlysequence-byte-ref-t-orleans-serialization-ses-91fddc0f/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(ReadOnlySequence<byte> source, scoped ref T result, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlySequence<byte>`): The source buffer.
- `result` (`T`): The deserialized value.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(ReadOnlySpan&lt;byte&gt;, T) {#deserialize-system-readonlyspan-byte-ref-t-dbcf0abc}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-readonlyspan-byte-ref-t-dbcf0abc/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(ReadOnlySpan<byte> source, scoped ref T result)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlySpan<byte>`): The source buffer.
- `result` (`T`): The deserialized value.

### Returns

The deserialized value.

## Deserialize(ReadOnlySpan&lt;byte&gt;, T, SerializerSession) {#deserialize-system-readonlyspan-byte-ref-t-orleans-serialization-session-seriali-1ee462da}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-readonlyspan-byte-ref-t-orleans-serialization-session-seriali-1ee462da/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(ReadOnlySpan<byte> source, scoped ref T result, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlySpan<byte>`): The source buffer.
- `result` (`T`): The deserialized value.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(Stream, T) {#deserialize-system-io-stream-ref-t-c733e60a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-io-stream-ref-t-c733e60a/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(Stream source, scoped ref T result)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`Stream`): The source buffer.
- `result` (`T`): The deserialized value.

### Returns

The deserialized value.

## Deserialize(Stream, T, SerializerSession) {#deserialize-system-io-stream-ref-t-orleans-serialization-session-serializersessi-f0b3f02c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-system-io-stream-ref-t-orleans-serialization-session-serializersessi-f0b3f02c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(Stream source, scoped ref T result, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`Stream`): The source buffer.
- `result` (`T`): The deserialized value.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(byte[], T) {#deserialize-byte-array-1-ref-t-ca44b7e4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-byte-array-1-ref-t-ca44b7e4/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(byte[] source, scoped ref T result)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`byte[]`): The source buffer.
- `result` (`T`): The deserialized value.

### Returns

The deserialized value.

## Deserialize(byte[], T, SerializerSession) {#deserialize-byte-array-1-ref-t-orleans-serialization-session-serializersession-f34d0bc2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-byte-array-1-ref-t-orleans-serialization-session-serializersession-f34d0bc2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize(byte[] source, scoped ref T result, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`byte[]`): The source buffer.
- `result` (`T`): The deserialized value.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(Reader&lt;TInput&gt;, T) {#deserialize-1-ref-orleans-serialization-buffers-reader-tinput-ref-t-fecefe7a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/deserialize-1-ref-orleans-serialization-buffers-reader-tinput-ref-t-fecefe7a/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Deserialize<TInput>(ref Reader<TInput> source, scoped ref T result)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`Reader<TInput>`): The source buffer.
- `result` (`T`): The deserialized value.

### Returns

The deserialized value.

## Serialize(T, byte[]) {#serialize-ref-t-byte-array-1-027e41cb}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-byte-array-1-027e41cb/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public int Serialize(scoped ref T value, byte[] destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`byte[]`): The destination where serialized data will be written.

### Returns

The length of the serialized data.

## Serialize(T, byte[], SerializerSession) {#serialize-ref-t-byte-array-1-orleans-serialization-session-serializersession-da29363b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-byte-array-1-orleans-serialization-session-serializersession-da29363b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public int Serialize(scoped ref T value, byte[] destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`byte[]`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.

### Returns

The length of the serialized data.

## Serialize(T, ArraySegment&lt;byte&gt;) {#serialize-ref-t-system-arraysegment-byte-d60ebdc6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-system-arraysegment-byte-d60ebdc6/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(scoped ref T value, ArraySegment<byte> destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`ArraySegment<byte>`): The destination where serialized data will be written.

## Serialize(T, Stream, SerializerSession, int) {#serialize-ref-t-system-io-stream-orleans-serialization-session-serializersession-83720e56}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-system-io-stream-orleans-serialization-session-serializersession-83720e56/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs#L1209-L1230)

```csharp
public void Serialize(scoped ref T value, Stream destination, SerializerSession session, int sizeHint = 0)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Stream`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.
- `sizeHint` (`int`): The estimated upper bound for the length of the serialized data.

## Serialize(T, Stream, int) {#serialize-ref-t-system-io-stream-int-73d4d038}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-system-io-stream-int-73d4d038/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs#L1175-L1197)

```csharp
public void Serialize(scoped ref T value, Stream destination, int sizeHint = 0)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Stream`): The destination where serialized data will be written.
- `sizeHint` (`int`): The estimated upper bound for the length of the serialized data.

## Serialize(T, Memory&lt;byte&gt;) {#serialize-ref-t-ref-system-memory-byte-21c90644}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-ref-system-memory-byte-21c90644/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(scoped ref T value, ref Memory<byte> destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Memory<byte>`): The destination where serialized data will be written.

## Serialize(T, Memory&lt;byte&gt;, SerializerSession) {#serialize-ref-t-ref-system-memory-byte-orleans-serialization-session-serializers-b1356da2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-ref-system-memory-byte-orleans-serialization-session-serializers-b1356da2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(scoped ref T value, ref Memory<byte> destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Memory<byte>`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.

## Serialize(T, Span&lt;byte&gt;) {#serialize-ref-t-ref-system-span-byte-40bd2299}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-ref-system-span-byte-40bd2299/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(scoped ref T value, ref Span<byte> destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Span<byte>`): The destination where serialized data will be written.

## Serialize(T, Span&lt;byte&gt;, SerializerSession) {#serialize-ref-t-ref-system-span-byte-orleans-serialization-session-serializerses-e1af1f4d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-ref-t-ref-system-span-byte-orleans-serialization-session-serializerses-e1af1f4d/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(scoped ref T value, ref Span<byte> destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Span<byte>`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.

## Serialize(T, TBufferWriter) {#serialize-1-ref-t-tbufferwriter-63e7d060}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-1-ref-t-tbufferwriter-63e7d060/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize<TBufferWriter>(scoped ref T value, TBufferWriter destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`TBufferWriter`): The destination where serialized data will be written.

## Serialize(T, TBufferWriter, SerializerSession) {#serialize-1-ref-t-tbufferwriter-orleans-serialization-session-serializersession-23153406}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-1-ref-t-tbufferwriter-orleans-serialization-session-serializersession-23153406/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize<TBufferWriter>(scoped ref T value, TBufferWriter destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`TBufferWriter`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.

## Serialize(T, Writer&lt;TBufferWriter&gt;) {#serialize-1-ref-t-ref-orleans-serialization-buffers-writer-tbufferwriter-75e53cd0}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serialize-1-ref-t-ref-orleans-serialization-buffers-writer-tbufferwriter-75e53cd0/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize<TBufferWriter>(scoped ref T value, ref Writer<TBufferWriter> destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Writer<TBufferWriter>`): The destination where serialized data will be written.

## SerializeToArray(T) {#serializetoarray-ref-t-54b86328}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.valueserializer-1/methods/serializetoarray-ref-t-54b86328/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs#L1043-L1056)

```csharp
public byte[] SerializeToArray(scoped ref T value)
```

Serializes the provided `value` into a new array.

### Parameters

- `value` (`T`): The value to serialize.

### Returns

A byte array containing the serialized value.
