gcAllowVeryLargeObjects的可能缺点?

时间:2015-07-01 08:56:13

标签: c# out-of-memory gcallowverylargeobjects

在几个outOfMemory异常之后,我启用了“gcAllowVeryLargeObjects”,它完全正常。我现在想知道为什么它不是C#中的默认选项(在64位平台上)。

是出于纯粹的兼容性原因吗?或者我错过了gcAllowVeryLargeObjects的主要缺点?

1 个答案:

答案 0 :(得分:4)

MSDN说:

  

在启用此功能之前,请确保您的应用程序不包含假定所有阵列的大小均小于2 GB的不安全代码。例如,如果在假设数组不超过2 GB的情况下编写,那么使用数组作为缓冲区的不安全代码可能容易受到缓冲区溢出的影响。

因此,只要您不使用unsafe代码,就没有任何缺点。