System.Memory.Data 9.0.16

About

System.Memory.Data introduces the BinaryData type, a lightweight abstraction for a byte payload. It makes it easy to convert between string, bytes, and stream.

This abstraction can simplify the API surface by exposing a single type instead of numerous overloads or properties. The BinaryData type handles data ownership efficiently, wrapping passed-in bytes when using byte[] or ReadOnlyMemory<byte> constructors or methods, and managing data as bytes when dealing with streams, strings, or rich model types serialized as JSON.

Key Features

  • Lightweight abstraction for byte payload via BinaryData type.
  • Convenient helper methods for common conversions among string, bytes, and stream.
  • Efficient data ownership handling.

How to Use

To/From String:

var data = new BinaryData("some data");

// ToString will decode the bytes using UTF-8
Console.WriteLine(data.ToString()); // prints "some data"

To/From Bytes:

byte[] bytes = Encoding.UTF8.GetBytes("some data");

// Create BinaryData using a constructor ...
BinaryData data = new BinaryData(bytes);

// Or using a static factory method.
data = BinaryData.FromBytes(bytes);

// There is an implicit cast defined for ReadOnlyMemory<byte>
ReadOnlyMemory<byte> rom = data;

// There is also an implicit cast defined for ReadOnlySpan<byte>
ReadOnlySpan<byte> ros = data;

// there is also a ToMemory method that gives access to the ReadOnlyMemory.
rom = data.ToMemory();

// and a ToArray method that converts into a byte array.
byte[] array = data.ToArray();

To/From stream:

var bytes = Encoding.UTF8.GetBytes("some data");
Stream stream = new MemoryStream(bytes);
var data = BinaryData.FromStream(stream);

// Calling ToStream will give back a stream that is backed by ReadOnlyMemory, so it is not writable.
stream = data.ToStream();
Console.WriteLine(stream.CanWrite); // prints false

BinaryData also can be used to integrate with ObjectSerializer. By default, the JsonObjectSerializer will be used, but any serializer deriving from ObjectSerializer can be used.

var model = new CustomModel
{
    A = "some text",
    B = 5,
    C = true
};

var data = BinaryData.FromObjectAsJson(model);
model = data.ToObjectFromJson<CustomModel>();

Main Types

The main types provided by this library are:

  • System.BinaryData

Additional Documentation

Feedback & Contributing

System.Memory.Data is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Showing the top 20 packages that depend on System.Memory.Data.

Packages Downloads
Azure.Core
This is the implementation of the Azure Client Pipeline
139
Azure.Core
This is the implementation of the Azure Client Pipeline
140
Azure.Core
This is the implementation of the Azure Client Pipeline
142
Azure.Core
This is the implementation of the Azure Client Pipeline
143
Azure.Core
This is the implementation of the Azure Client Pipeline
145
Azure.Core
This is the implementation of the Azure Client Pipeline
149
Azure.Core
This is the implementation of the Azure Client Pipeline
152
Azure.Core
This is the implementation of the Azure Client Pipeline
153
Azure.Core
This is the implementation of the Azure Client Pipeline
154
Azure.Core
This is the implementation of the Azure Client Pipeline
155
Azure.Core
This is the implementation of the Azure Client Pipeline
157
Azure.Core
This is the implementation of the Azure Client Pipeline
159
Azure.Core
This is the implementation of the Azure Client Pipeline
162
Azure.Core
This is the implementation of the Azure Client Pipeline
165
Azure.Core
This is the implementation of the Azure Client Pipeline
167
Azure.Core
This is the implementation of the Azure Client Pipeline
168
Azure.Core
This is the implementation of the Azure Client Pipeline
173
Azure.Core
This is the implementation of the Azure Client Pipeline
178
System.ClientModel
Contains building blocks for clients that call cloud services.
145

https://go.microsoft.com/fwlink/?LinkID=799421

.NET Framework 4.6.2

.NET 8.0

.NET 9.0

  • No dependencies.

.NET Standard 2.0

Version Downloads Last updated
11.0.0-preview.4.26230.115 2 05/13/2026
11.0.0-preview.3.26207.106 16 04/14/2026
11.0.0-preview.2.26159.112 23 03/12/2026
11.0.0-preview.1.26104.118 30 02/11/2026
10.0.8 1 05/13/2026
10.0.7 14 04/21/2026
10.0.6 16 04/14/2026
10.0.5 19 03/13/2026
10.0.4 21 03/12/2026
10.0.3 20 02/11/2026
10.0.2 23 01/13/2026
10.0.1 41 12/10/2025
10.0.0 70 11/12/2025
10.0.0-rc.2.25502.107 66 10/15/2025
10.0.0-rc.1.25451.107 69 09/09/2025
10.0.0-preview.7.25380.108 100 08/13/2025
10.0.0-preview.6.25358.103 105 07/17/2025
10.0.0-preview.5.25277.114 83 06/08/2025
10.0.0-preview.4.25258.110 107 05/13/2025
10.0.0-preview.3.25171.5 121 04/11/2025
10.0.0-preview.2.25163.2 96 04/02/2025
10.0.0-preview.1.25080.5 89 04/02/2025
9.0.16 2 05/13/2026
9.0.15 18 04/15/2026
9.0.14 20 03/12/2026
9.0.13 23 02/11/2026
9.0.12 33 01/15/2026
9.0.11 76 11/12/2025
9.0.10 71 10/15/2025
9.0.9 71 09/09/2025
9.0.8 77 08/06/2025
9.0.7 99 07/09/2025
9.0.6 80 06/11/2025
9.0.5 109 05/14/2025
9.0.4 126 04/11/2025
9.0.3 121 04/01/2025
9.0.2 108 04/01/2025
9.0.1 99 04/01/2025
9.0.0 99 11/17/2024
9.0.0-rc.2.24473.5 110 10/22/2024
9.0.0-rc.1.24431.7 88 09/19/2024
9.0.0-preview.7.24405.7 100 08/22/2024
9.0.0-preview.6.24327.7 121 07/19/2024
9.0.0-preview.5.24306.7 152 07/19/2024
9.0.0-preview.4.24266.19 131 07/19/2024
9.0.0-preview.3.24172.9 154 07/19/2024
9.0.0-preview.2.24128.5 129 07/19/2024
9.0.0-preview.1.24080.9 122 07/19/2024
8.0.1 127 10/21/2024
8.0.0 135 07/19/2024
8.0.0-rc.2.23479.6 112 07/19/2024
8.0.0-rc.1.23419.4 113 07/19/2024
8.0.0-preview.7.23375.6 136 07/19/2024
8.0.0-preview.6.23329.7 127 07/19/2024
8.0.0-preview.5.23280.8 121 07/19/2024
8.0.0-preview.4.23259.5 147 07/19/2024
8.0.0-preview.3.23174.8 136 07/19/2024
8.0.0-preview.2.23128.3 131 07/19/2024
8.0.0-preview.1.23110.8 117 07/19/2024
7.0.0 117 07/19/2024
7.0.0-rc.2.22472.3 115 07/19/2024
7.0.0-rc.1.22426.10 105 07/19/2024
7.0.0-preview.7.22375.6 123 07/19/2024
7.0.0-preview.6.22324.4 128 07/19/2024
7.0.0-preview.5.22301.12 150 07/19/2024
7.0.0-preview.4.22229.4 128 07/19/2024
7.0.0-preview.3.22175.4 130 07/19/2024
7.0.0-preview.2.22152.2 130 07/19/2024
7.0.0-preview.1.22076.8 114 07/19/2024
6.0.1 110 11/17/2024
6.0.0 111 07/19/2024
6.0.0-rc.2.21480.5 116 07/19/2024
6.0.0-rc.1.21451.13 133 07/19/2024
6.0.0-preview.7.21377.19 123 07/19/2024
6.0.0-preview.6.21352.12 119 07/19/2024
6.0.0-preview.5.21301.5 126 07/19/2024
6.0.0-preview.4.21253.7 115 07/19/2024
6.0.0-preview.3.21201.4 136 07/19/2024
6.0.0-preview.2.21154.6 119 07/19/2024
6.0.0-preview.1.21102.12 125 07/19/2024
1.0.2 140 02/04/2024
1.0.1 113 07/19/2024
1.0.0 121 07/19/2024
1.0.0-beta.2 116 07/19/2024
1.0.0-beta.1 109 07/19/2024