gpt4 book ai didi

c# - 在 C# 中销毁一个对象

转载 作者:太空狗 更新时间:2023-10-29 20:44:27 29 4
gpt4 key购买 nike

如何在 finally block 中销毁一个对象。

例如

 Public void fnName()
{
ClassName obj = new ClassName();
try {

}
catch() {

}
finally {
// destroy obj here
}
}

最佳答案

什么都不做。您的引用 (obj) 将超出范围。然后垃圾收集器会出现并销毁您的对象。

如果有(非托管)资源需要立即销毁,那么实现IDisposable接口(interface),在finalize block 中调用Dispose。或者更好的是,使用 using 语句。

编辑

正如评论中所建议的,当您的 ClassName 实现 IDisposable 时,您可以:

ClassName obj = null;
try{
obj = new ClassName();
//do stuff
}
finally{
if (obj != null) { obj.Dispose(); }
}

或者,使用 using 语句:

using (var obj = new ClassName())
{
// do stuff
}

关于c# - 在 C# 中销毁一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25764965/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com