TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.76K subscribers
Post #1491 1.48K
День 1206. #ЗаметкиНаПолях
Упрощаем Работу с Данными
Если вы работаете с двоичными данными и используете byte[], можно упростить себе жизнь, используя класс BinaryData, который представляет собой облегчённую абстракцию для работы с двоичными данными, поддерживающую преобразование между строкой, потоком, JSON и байтами.

Замечание: Чтобы работать с классом BinaryData, нужно установить NuGet пакет System.Memory.Data.

Допустим, у нас есть следующий объект:
record Person(string FirstName, string LastName);
var person = new Person("John", "Smith");

Преобразуем в JSON-строку:
var personData = new BinaryData(person);
Console.WriteLine(personData.ToString());
// Вывод:
// {"FirstName":"John","LastName":"Smith"}

Преобразуем JSON в объект:
var person2 = personData.ToObjectFromJson<Person>();
Console.WriteLine(person2.ToString());
// Вывод (стандартный ToString для типа record):
// Person { FirstName = John, LastName = Smith }

Теперь рассмотрим работу со строками и двоичными данными:
var stringData = new BinaryData("Hello World!");

Преобразуем строку в массив байт:
byte[] bytes = stringData.ToArray();
var bytesData = new BinaryData(bytes);

Преобразуем массив байт в поток:
Stream stream = bytesData.ToStream();

Читаем из потока:
var streamData = BinaryData.FromStream(stream);
Console.WriteLine(streamData.ToString());
// Вывод:
// Hello World!

Источник: https://twitter.com/MarusykRoman/status/1521256457630535680
  • 👍 18
More from @netdeveloperdiary
  1. Oct 14, 2026Post #3373
  2. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
  3. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  4. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  5. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
  6. Oct 9, 2026День 2809. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание Начало 3.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →