Введение в Span и Memory в C#
Чтобы обработать часть массива или строки, часто делают новый массив и копируют в него элементы. На короткой операции это лишняя память. Окно на буфер смотрит на уже выделенные элементы: откуда начать и сколько взять. Само хранилище остаётся на месте.
Короткое окно называется Span. Оно живёт внутри одного метода и не становится обычным объектом, который можно положить в поле и унести куда угодно. Так среда не даёт смотреть в память, которая уже освобождена. Если окно нужно сохранить дольше одного вызова, берут Memory: этот тип помнит буфер и при необходимости снова открывает короткое окно.
Буфером может быть массив, кусок строки, память на стеке или массив, взятый из пула и потом возвращённый. Раздел про то, как читать и менять такой кусок, не копируя его.