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

ReadOnlyMemory

ReadOnlyMemory можно держать в поле, как Memory. Чтение - через Span; присваивание элементу не компилируется. Без хранения - ReadOnlySpan.

Синтаксис

ReadOnlyMemory<T> memory = new ReadOnlyMemory<T>(array);

Пример

Давайте прочитать нулевой элемент через Span:

using System; class Program { static void Main() { ReadOnlyMemory<int> memory = new ReadOnlyMemory<int>(new[] { 1, 2, 3 }); int res = memory.Span[0]; Console.WriteLine(res); } }

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

1

Пример

Давайте прочитать длину:

using System; class Program { static void Main() { ReadOnlyMemory<int> memory = new ReadOnlyMemory<int>(new[] { 1, 2, 3 }); int res = memory.Length; Console.WriteLine(res); } }

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

3

Пример

Давайте сохранить блок в поле:

using System; class Holder { public ReadOnlyMemory<int> View; } class Program { static void Main() { var holder = new Holder { View = new ReadOnlyMemory<int>(new[] { 1, 2, 3 }) }; int res = holder.View.Span[1]; Console.WriteLine(res); } }

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

2

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

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