private void test()
{
string tst = null;
try
{
tst = "abc";
}
catch (Exception)
{
throw;
}
finally
{
tst = null;
}
}
我的查询是 - 在finally块中键入tst = null;
是否有意义,因为字符串类没有一次性方法?
答案 0 :(得分:3)
它没有任何效果,因为tst
在finally
之后立即超出范围。
这与Dispose
无关。
答案 1 :(得分:3)
不,这不是必要的。当tst
返回时,变量test()
不再存在。
答案 2 :(得分:2)
即使string
已实施IDisposable
,将变量设置为null也不会调用Dispose
方法。这完全是毫无意义的,就像投掷的阻挡一样。
如果你在代码库中看到这样的代码你正在维护,请将其删除,并在第一时间将任何人放入其中,这是一个安静的词。