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

Индексатор Span

Запись span[i] меняет ту же память, что и исходный массив. Индекс за Length бросает IndexOutOfRangeException. Только чтение - ReadOnlySpan.

Синтаксис

int value = span[index]; span[index] = value;

Пример

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

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

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

1

Пример

Давайте записать 9 в span[0]:

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

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

9

Пример

Давайте обратиться к индексу за концом:

using System; class Program { static void Main() { int[] data = { 1, 2, 3 }; Span<int> span = data; try { int x = span[10]; Console.WriteLine(x); } catch (IndexOutOfRangeException) { Console.WriteLine("fail"); } } }

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

"fail"

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

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