考虑以下代码:
string value = new string('a', int.MaxValue);
当我们运行该代码时,会出现OutOfMemoryException异常。Windows 8物理内存限制为128 GB。
那么为什么.Net会为该代码抛出OutOfMemoryException
呢?
此外,该代码永远不会抛出OutOfMemoryException:
List<string> list = new List<string>();
for (int i = 0; i < 100000000000; i++)
{
list.Add(new string('a', 100 ));
}
我在64位模式下运行它。