Метод Rent
Rent не гарантирует точную
длину: при
Rent(3) проверяют
buffer.Length >= 3.
Содержимое может быть старым -
сначала пишут сами. Вернуть буфер -
Return.
Пул -
Shared.
Синтаксис
using System.Buffers;
int[] buffer = ArrayPool<int>.Shared.Rent(minimumLength);
Пример
Давайте одолжить массив на три элемента:
using System;
using System.Buffers;
class Program
{
static void Main()
{
int[] buffer = ArrayPool<int>.Shared.Rent(3);
bool res = buffer.Length >= 3;
Console.WriteLine(res);
ArrayPool<int>.Shared.Return(buffer);
}
}
Результат выполнения кода:
True
Пример
Давайте заполнить первый элемент и прочитать его:
using System;
using System.Buffers;
class Program
{
static void Main()
{
int[] buffer = ArrayPool<int>.Shared.Rent(3);
buffer[0] = 12345;
int res = buffer[0];
Console.WriteLine(res);
ArrayPool<int>.Shared.Return(buffer);
}
}
Результат выполнения кода:
12345
Пример
Давайте одолжить с минимальной длиной
1:
using System;
using System.Buffers;
class Program
{
static void Main()
{
int[] buffer = ArrayPool<int>.Shared.Rent(1);
bool res = buffer.Length >= 1;
Console.WriteLine(res);
ArrayPool<int>.Shared.Return(buffer);
}
}
Результат выполнения кода:
True