在我的代码中,我需要创建FileInfo/StreamWriter类的对象.它可以通过两种方式完成
FileInfo file = null;
try
{
// now instantiate the object
file = new FileInfo()
}
Run Code Online (Sandbox Code Playgroud)
要么
try
{
FileInfo file = null;
file = new FileInfo()
}
Run Code Online (Sandbox Code Playgroud)
哪一个更好?GC处理对象的方式有什么不同吗?
这取决于.你是否需要进入街区file外try?如果答案是" 不,不是在任何情况下 ",那么在try块内声明它是一个好主意.如果答案是" 是,在我的catch或finally块或代码中的某个地方稍后 ",那么你应该在try块之外声明它.
至于你关于性能可能影响的问题,请忘记这个问题.
最后但并非最不重要的是,GC 它没有任何处置.处置和GC两个无关的事情,GC不知道关于一次性物体和IDisposable界面的任何事情.
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |