System.Memory.Data 10.0.12

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
170
Azure.Core
This is the implementation of the Azure Client Pipeline
172
Azure.Core
This is the implementation of the Azure Client Pipeline
175
Azure.Core
This is the implementation of the Azure Client Pipeline
176
Azure.Core
This is the implementation of the Azure Client Pipeline
177
Azure.Core
This is the implementation of the Azure Client Pipeline
179
Azure.Core
This is the implementation of the Azure Client Pipeline
181
Azure.Core
This is the implementation of the Azure Client Pipeline
183
Azure.Core
This is the implementation of the Azure Client Pipeline
189
Azure.Core
This is the implementation of the Azure Client Pipeline
190
Azure.Core
This is the implementation of the Azure Client Pipeline
193
Azure.Core
This is the implementation of the Azure Client Pipeline
194
Azure.Core
This is the implementation of the Azure Client Pipeline
197
Azure.Core
This is the implementation of the Azure Client Pipeline
201
Azure.Core
This is the implementation of the Azure Client Pipeline
208

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

.NET Framework 4.6.2

.NET 8.0

.NET 9.0

.NET 10.0

  • No dependencies.

.NET Standard 2.0

Version Downloads Last updated
11.0.0-rc.1.26425.128 2 09/10/2026
11.0.0-preview.7.26381.103 18 08/12/2026
11.0.0-preview.6.26359.118 23 07/16/2026
11.0.0-preview.5.26302.115 32 06/10/2026
11.0.0-preview.4.26230.115 38 05/13/2026
11.0.0-preview.3.26207.106 45 04/14/2026
11.0.0-preview.2.26159.112 51 03/12/2026
11.0.0-preview.1.26104.118 57 02/11/2026
10.0.12 3 09/10/2026
10.0.11 15 08/12/2026
10.0.10 18 07/16/2026
10.0.9 26 06/10/2026
10.0.8 28 05/13/2026
10.0.7 42 04/21/2026
10.0.6 43 04/14/2026
10.0.5 46 03/13/2026
10.0.4 47 03/12/2026
10.0.3 51 02/11/2026
10.0.2 56 01/13/2026
10.0.1 71 12/10/2025
10.0.0 97 11/12/2025
10.0.0-rc.2.25502.107 91 10/15/2025
10.0.0-rc.1.25451.107 98 09/09/2025
10.0.0-preview.7.25380.108 133 08/13/2025
10.0.0-preview.6.25358.103 127 07/17/2025
10.0.0-preview.5.25277.114 111 06/08/2025
10.0.0-preview.4.25258.110 136 05/13/2025
10.0.0-preview.3.25171.5 148 04/11/2025
10.0.0-preview.2.25163.2 126 04/02/2025
10.0.0-preview.1.25080.5 112 04/02/2025
9.0.20 2 09/11/2026
9.0.19 15 08/11/2026
9.0.18 15 07/16/2026
9.0.17 24 06/10/2026
9.0.16 28 05/13/2026
9.0.15 43 04/15/2026
9.0.14 51 03/12/2026
9.0.13 47 02/11/2026
9.0.12 58 01/15/2026
9.0.11 109 11/12/2025
9.0.10 93 10/15/2025
9.0.9 100 09/09/2025
9.0.8 103 08/06/2025
9.0.7 118 07/09/2025
9.0.6 102 06/11/2025
9.0.5 137 05/14/2025
9.0.4 151 04/11/2025
9.0.3 150 04/01/2025
9.0.2 132 04/01/2025
9.0.1 127 04/01/2025
9.0.0 121 11/17/2024
9.0.0-rc.2.24473.5 134 10/22/2024
9.0.0-rc.1.24431.7 114 09/19/2024
9.0.0-preview.7.24405.7 130 08/22/2024
9.0.0-preview.6.24327.7 148 07/19/2024
9.0.0-preview.5.24306.7 178 07/19/2024
9.0.0-preview.4.24266.19 149 07/19/2024
9.0.0-preview.3.24172.9 172 07/19/2024
9.0.0-preview.2.24128.5 154 07/19/2024
9.0.0-preview.1.24080.9 149 07/19/2024
8.0.1 155 10/21/2024
8.0.0 162 07/19/2024
8.0.0-rc.2.23479.6 136 07/19/2024
8.0.0-rc.1.23419.4 142 07/19/2024
8.0.0-preview.7.23375.6 166 07/19/2024
8.0.0-preview.6.23329.7 150 07/19/2024
8.0.0-preview.5.23280.8 148 07/19/2024
8.0.0-preview.4.23259.5 169 07/19/2024
8.0.0-preview.3.23174.8 155 07/19/2024
8.0.0-preview.2.23128.3 155 07/19/2024
8.0.0-preview.1.23110.8 141 07/19/2024
7.0.0 135 07/19/2024
7.0.0-rc.2.22472.3 143 07/19/2024
7.0.0-rc.1.22426.10 130 07/19/2024
7.0.0-preview.7.22375.6 151 07/19/2024
7.0.0-preview.6.22324.4 154 07/19/2024
7.0.0-preview.5.22301.12 176 07/19/2024
7.0.0-preview.4.22229.4 153 07/19/2024
7.0.0-preview.3.22175.4 152 07/19/2024
7.0.0-preview.2.22152.2 156 07/19/2024
7.0.0-preview.1.22076.8 137 07/19/2024
6.0.1 133 11/17/2024
6.0.0 141 07/19/2024
6.0.0-rc.2.21480.5 141 07/19/2024
6.0.0-rc.1.21451.13 155 07/19/2024
6.0.0-preview.7.21377.19 148 07/19/2024
6.0.0-preview.6.21352.12 147 07/19/2024
6.0.0-preview.5.21301.5 155 07/19/2024
6.0.0-preview.4.21253.7 147 07/19/2024
6.0.0-preview.3.21201.4 160 07/19/2024
6.0.0-preview.2.21154.6 137 07/19/2024
6.0.0-preview.1.21102.12 150 07/19/2024
1.0.2 179 02/04/2024
1.0.1 141 07/19/2024
1.0.0 151 07/19/2024
1.0.0-beta.2 133 07/19/2024
1.0.0-beta.1 136 07/19/2024