Jan*_*ich 5 c#
"using"块通常是这样编写的:
using (new Foo()) { ... }
而不是像这样:
using (var f = new Foo()) { ... }
在第一种情况下,如果没有设置对新Foo对象的显式引用,是否存在在块结束之前可以处置对象的危险?如果没有,为什么不呢?
Jus*_*ner 14
没有危险它会被提前处理.
第一个示例仍然创建对创建的对象的显式引用.该引用只是未命名,不能在您的代码中使用.
该using块将保留引用(尽管未命名),直到块结束.
using
Bla*_*ICE 3
不,您不需要设置显式引用,除非您需要使用范围块访问对象。未引用的变量不存在被提前处置的危险,因为它仅在超出范围时才被处置。
归档时间:
15 年,2 月 前
查看次数:
160 次
最近记录: