我在 C# 中使用 ArrayPool。我想创建自己的池,最大数组数量为 5,最大数组大小为 1050000。我使用了这个 ArrayPool.Create() 方法。我无法理解一件事 - 我试图在下面的代码片段中从池中租用 10 次,尽管我指定最大数组为 5,那么为什么它没有显示任何错误。另外,我指定最大长度为 1050000。那么我如何能够租用 4200000 的阵列而不出现任何错误?
byte[] buffer;
ArrayPool<byte> pool = ArrayPool<byte>.Create(1050000, 5);
for (int i = 0; i < 10; i++)
{
buffer = pool.Rent(4200000);
}
Run Code Online (Sandbox Code Playgroud)