C# 运行时内存不足异常

C# 运行时内存不足异常,c#,memory-management,garbage-collection,C#,Memory Management,Garbage Collection,即使使用垃圾收集器,在运行时也可能发生内存不足异常吗 有人问我这个问题,但我不确定。是的,如果使用太多内存,就会出现异常 垃圾收集器只是清除了你无论如何都不会再访问的内存 。。。答案很明显,也许你问的问题与你的意思不同?如果是,请澄清。是的,我以前也有过这种情况 很明显:如果您使用了太多内存,则会触发此异常 垃圾收集器只是在清除您无法访问的数据,并不会神奇地增加可用内存。垃圾收集器只声明应用程序根不再引用的“垃圾”对象。如果托管堆已满,且其中的每个对象仍由应用程序根引用(这意味着该对象仍可由应用

即使使用垃圾收集器,在运行时也可能发生内存不足异常吗


有人问我这个问题,但我不确定。

是的,如果使用太多内存,就会出现异常

垃圾收集器只是清除了你无论如何都不会再访问的内存


。。。答案很明显,也许你问的问题与你的意思不同?如果是,请澄清。

是的,我以前也有过这种情况

很明显:如果您使用了太多内存,则会触发此异常


垃圾收集器只是在清除您无法访问的数据,并不会神奇地增加可用内存。

垃圾收集器只声明应用程序根不再引用的“垃圾”对象。如果托管堆已满,且其中的每个对象仍由应用程序根引用(这意味着该对象仍可由应用程序访问),则您将获得一个
OutOfMemoryException


我强烈建议您阅读以了解GC的工作原理。关于
Finalize
方法的部分也很有趣。

这是可能的。GC并不是要帮助您将所有数据装入内存,而是允许您不关心内存(de)分配如果不可能发生这样的异常,那么为什么首先会出现异常?嘿,伙计们,这是对所问问题的有效答案+1@zerkms,而答案是布尔值,我认为应该有一个解释。仅仅说“是的,是的”并不构成回答。@gunr217:是的。至少它会教OP提出更好的问题。这不是回答者的错。