c#无限循环的内存不足异常

本文关键字:异常 内存不足 无限循环 | 更新日期: 2023-09-27 17:53:44

只是想了解dot net内存不足的异常。

如果我创建了一个无限while循环,在循环中我创建了一个新对象,该对象向文件中写入了一些内容。

这个应用程序会耗尽内存吗?这会导致内存不足异常吗?

c#无限循环的内存不足异常

当应用程序尝试分配内存执行操作失败时,抛出OutOfMemoryException。根据微软的文档,以下操作可能会抛出OutOfMemoryException:

  • 装箱(即在对象中包装一个值类型)
  • 创建数组
  • 创建对象

如果你试图创建无限数量的对象,那么很有理由认为你迟早会耗尽内存。

(注意:不要忘记垃圾收集器。根据正在创建的对象的生存期,如果它确定它们不再使用,它将删除其中的一些。