Аренда и возврат буфера в C#
Аргумент clearArray: true при возврате стирает старые значения, чтобы следующий арендатор не прочитал чужие данные. Это нужно, если в буфере были секретные числа или ссылки на большие объекты.
Один и тот же массив не возвращают дважды: повторный возврат не определён.
Запишем 11 в первую ячейку, вернём буфер с очисткой и выведем подтверждение:
using System.Buffers;
int[] buffer = ArrayPool<int>.Shared.Rent(4);
buffer[0] = 11;
ArrayPool<int>.Shared.Return(buffer, clearArray: true);
Console.WriteLine("returned");
Арендуйте буфер чисел минимум на две ячейки, запишите 24 во вторую, верните буфер с очисткой и выведите в консоль слово "done".