【发布时间】:2013-10-26 02:17:33
【问题描述】:
我了解,每当我实例化一个实现 IDisposable 的类时,我都应该使用 using 关键字以确保它被正确处理。
像这样:
using (SecureString s = new SecureString())
{
}
以上内容对我来说很容易理解——我可以使用s,但是我想在那些括号内,但是一旦我离开这些括号,我就不能再引用s。范围很容易看到。
但我不明白的是,当您使用不带括号的 using 时它是如何工作的。
private void Function()
{
// Some code here
using (SecureString s = new SecureString())
// more code here
}
您根本不需要使用括号...所以...如果using 没有括号,我怎么知道我可以在哪里使用该对象以及它在哪里被处理?关键字?
【问题讨论】:
-
就像
if或for不带括号。 -
旁白:实际上在某些极端情况下这是错误的做法:stackoverflow.com/questions/573872/…
-
你可以试试看。通过一些简单的实验很容易弄清楚......
-
@VladimirFrolov 哦,谢谢。这完全有道理。我觉得现在没有意识到这一点很愚蠢。
标签: c# using-statement