【发布时间】:2020-06-25 21:22:40
【问题描述】:
我在 C# 中使用 ArrayPool。 我想创建自己的池,最大阵列数为 5,阵列最大大小为 1050000。 我使用了这个 ArrayPool.Create() 方法。 我无法理解一件事-我试图在下面的 sn-p 中从池中租用 10 次,尽管我将 max arrays 指定为 5 ,但为什么它没有显示任何错误。 另外,我将最大长度指定为 1050000。那么我如何才能租用 4200000 的数组而不会出现任何错误?
byte[] buffer;
ArrayPool<byte> pool = ArrayPool<byte>.Create(1050000, 5);
for (int i = 0; i < 10; i++)
{
buffer = pool.Rent(4200000);
}
【问题讨论】:
-
您指定租用的最小尺寸,因为它们正在被重复使用,如果您想要更大的尺寸,您需要租用您需要的最小尺寸。还有你要解决的问题是什么。
-
嘿,我编辑了我的问题并补充说
-
我已回滚您的编辑。这是一个完全独立的问题,应该作为一个新问题提出
标签: c# buffer compiler-optimization