Срез Span в C#
Метод AsSpan с началом и длиной строит Span<T> поверх уже существующего массива. Новый массив не создаётся: окно смотрит на те же ячейки.
Индексы part[0] и part[1] считаются от начала окна, а не от начала всего массива. За край окна выходить нельзя.
Возьмём два элемента из середины. Окно покрывает 20 и 30, поэтому part[1] - это 30, а не data[1]:
int[] data = { 10, 20, 30, 40 };
Span<int> part = data.AsSpan(1, 2);
Console.WriteLine(part.Length); // выведет 2
Console.WriteLine(part[1]); // выведет 30
Из массива lanes возьмите окно длиной 3 с начала и выведите последний элемент окна.