外部using指令是否应该在花括号中包含一个紧跟在内的using指令?

时间:2013-10-25 18:09:01

标签: c# coding-style using-directives

我得到一个异常(在一个while循环终止之后,它没有被我发布的方法中的catch块记录,或者在我添加的全局异常处理程序中记录)(没有更多的记录是读取)。

在调试这个,专心凝视这段代码时,我开始怀疑它是否应该保留:

using (var conn = new OleDbConnection(
   @"Provider=Microsoft.Jet.OLEDB.4.0;User ID=Platydude;Password=Platypup;Data  
   Source=C:\Duckbill\DATA\DuckbillDAT03.MDB;Jet OLEDB:System 
   database=C:\Duckbill\Data\platypus.mdw"))
{
    using (var cmd = conn.CreateCommand())
    {
        . . .
    }
}

......或者简单地说:

using (var conn = new OleDbConnection(
   @"Provider=Microsoft.Jet.OLEDB.4.0;User ID=Platydude;Password=Platypup;Data  
   Source=C:\Duckbill\DATA\DuckbillDAT03.MDB;Jet OLEDB:System 
   database=C:\Duckbill\Data\platypus.mdw"))
using (var cmd = conn.CreateCommand())
{
    . . .
}

它有什么不同吗?它似乎没有 - 两种方式完全相同的事情发生;但有没有一种方法比另一种方式更安全? IOW:哪一个是首选技术?

1 个答案:

答案 0 :(得分:4)

从功能上讲,它们是相同的。在风格上,我更喜欢后者(就像大多数人一样,从我所看到的),因为它消除了不必要的括号和缩进,并且更自然地读取(就像它说“使用这个和那个”而不是“使用这个{使用它{“)。