在try或outside try中声明类对象?哪个是最佳实践[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在try或outside try中声明类对象?哪个是最佳实践[关闭]相关的知识,希望对你有一定的参考价值。
在我的代码中,我需要创建FileInfo / StreamWriter类的对象。它可以通过两种方式完成
FileInfo file = null;
try
{
// now instantiate the object
file = new FileInfo()
}
要么
try
{
FileInfo file = null;
file = new FileInfo()
}
哪一个更好? GC处理对象的方式有什么不同吗?
答案
这取决于。您是否需要在file
街区外访问try
?如果答案是“不,不是在任何情况下”,那么在try
区块内声明它是一个好主意。如果答案是“是的,在我的catch
或finally
块或稍后的代码中的某个地方”,那么你应该在try
块之外声明它。
至于你对性能可能影响的问题,请忘记这个问题。
最后但并非最不重要的是,GC
没有任何处置。处置和GC
是两个无关的事情,GC
不知道关于一次性物体和IDisposable
界面的任何事情。
以上是关于在try或outside try中声明类对象?哪个是最佳实践[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
为啥“catch”或“finally”范围内的“try”中没有声明变量?