Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1157 of 1492 menu
◀ ▶

Метод TryWriteBytes

TryWriteBytes(Span<byte>, value) кодирует число в существующий буфер без создания byte[]. При успехе возвращает true; если Span короче нужного размера - false и буфер не меняют. Аналог с новым массивом - GetBytes.

Синтаксис

bool ok = BitConverter.TryWriteBytes(span, 12345);

Пример

Давайте запишем int в буфер из 4 байт:

using System; class Program { static void Main() { Span<byte> buf = stackalloc byte[4]; bool ok = BitConverter.TryWriteBytes(buf, 1); Console.WriteLine(ok); } }

Результат выполнения кода:

True

Пример

Давайте попробуем буфер из двух байт для int:

using System; class Program { static void Main() { Span<byte> buf = stackalloc byte[2]; bool ok = BitConverter.TryWriteBytes(buf, 1); Console.WriteLine(ok); } }

Результат выполнения кода:

False

Пример

Давайте после успешной записи прочитаем ToInt32:

using System; class Program { static void Main() { byte[] buf = new byte[4]; Span<byte> span = buf; BitConverter.TryWriteBytes(span, 12345); int res = BitConverter.ToInt32(buf, 0); Console.WriteLine(res); } }

Результат выполнения кода:

12345

Смотрите также

  • метод GetBytes,
    который выделяет новый массив
  • метод ToInt32,
    который читает записанные байты
  • IsLittleEndian,
    которое задаёт порядок записи
  • BitConverter,
    класс с TryWriteBytes
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить