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

UTF-8 литерал

Запись "текст"u8 создаёт значение типа ReadOnlySpan<byte> с UTF-8 байтами литерала. Для ASCII-текста длина совпадает с числом символов. Так удобно передавать данные в API, ожидающие байты, без лишнего кодирования из string.

Синтаксис

ReadOnlySpan<byte> data = "текст"u8;

Пример

Давайте получим байты строки "abcde" и выведем длину:

using System; class Program { static void Main() { ReadOnlySpan<byte> data = "abcde"u8; Console.WriteLine(data.Length); } }

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

5

Пример

Давайте прочитаем первый байт литерала "12345":

using System; class Program { static void Main() { ReadOnlySpan<byte> data = "12345"u8; Console.WriteLine(data[0]); } }

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

49

Пример

Давайте сравним длину UTF-8 литерала и число символов в "abcde":

using System; class Program { static void Main() { string str = "abcde"; ReadOnlySpan<byte> data = "abcde"u8; Console.WriteLine(str.Length); Console.WriteLine(data.Length); } }

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

5 5

Пример

Давайте выведем последний байт строки "abcde":

using System; class Program { static void Main() { ReadOnlySpan<byte> data = "abcde"u8; Console.WriteLine(data[^1]); } }

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

101

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

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