【发布时间】:2023-03-17 10:09:01
【问题描述】:
有人告诉我,每个方法都有一个大小为 1mb 的堆栈。 所以我假设在一种方法中初始化 256 个整数值会导致 StackOverflowException。我在代码中尝试过,但没有抛出异常。
那么,如何在不使用递归的情况下故意触发 StackOverflowException 呢?
【问题讨论】:
-
256 * 4 字节 = 1kb,而不是 1mb
-
256 个整数 = 256 * 4 字节 = 1024 字节 = 1 kb,而不是 1 MB。因此,您需要 256000 个整数。而且我什至不会尝试编写包含 256000 个声明的代码。 (编辑:Marc Gravells 总是更快):)
-
如果您只能在单个方法中使用
256 * 4字节的内存,那就太糟糕了...另一方面,它可能有助于保持方法的小! :-)
标签: c# .net recursion stack-overflow