首页 > 解决方案 > C#“新”实例立即处置?

问题描述

C# 相对较新。

我有一个类 ( public class Functions),它有一个公共函数,我希望能够从不同的类访问它,而无需创建Functions.

我有几行与以下非常相似的代码:

this.txtENet2GatewayOct1.Text = (new Functions()).GetIPOctet(this.settings.eNet2DefaultGateway, 1);

我很好奇的是:当我执行 a 时(new ClassIMade()).Function,“新”实例是否会立即被处理掉(从内存中删除)。

我确定这可能不是执行此操作的“正确”方式,但出于这个问题的目的,我不在乎。

标签: c#

解决方案


它不是“立即处理”。它最终由垃圾收集器释放,前提是您的代码中没有任何内容可以使对象保持活动状态。

就 GC 而言,使用内联创建新实例new Functions()与首先实例化对象然后调用方法没有什么不同。


推荐阅读