Ограничение scoped для Span в C#
Модификатор scoped не даёт унести окно из метода: его нельзя вернуть и нельзя сохранить снаружи. Если ссылка переживёт вызов, компилятор остановит сборку.
Это дополнительная страховка к правилам ref struct.
Объявим scoped-окно на первые два элемента и прочитаем второй из них:
int[] data = { 1, 2, 3 };
scoped Span<int> part = data.AsSpan(0, 2);
Console.WriteLine(part[1]);
Возьмите над массивом ids окно, которое нельзя вынести из метода, и выведите его длину.