Отличие Memory от Span в C#
Окно Span нельзя сохранить в поле класса и нельзя унести в асинхронный метод. Memory можно передать дальше и позже открыть у него свойство Span.
Правка через это окно видна в исходном массиве.
Запишем 15 в первую ячейку и прочитаем её из массива:
int[] data = { 7, 8 };
Memory<int> mem = data;
mem.Span[0] = 15;
Console.WriteLine(data[0]);
Измените второй элемент массива ports через обёртку и выведите его.