使用包含多个系统资源的语句

Per*_*ion 9 vb.net coding-style using-statement

using在C#和VB中都使用了该语句.我同意所有关于使用语句嵌套的批评者(C#似乎做得很好,VB不是那么多)

因此,考虑到这一点,我有兴趣通过在同一块中"使用"多个系统资源来改进我的VB使用语句:

例:

Using objBitmap As New Bitmap(100,100)
    Using objGraphics as Graphics = Graphics.From(objBitmap)
    End Using
End Using
Run Code Online (Sandbox Code Playgroud)

可写成这样:

Using objBitmap As New Bitmap(100,100), objGraphics as Gaphics = Graphics.FromImage(objbitmap)
End Using
Run Code Online (Sandbox Code Playgroud)

所以我的问题是什么是更好的方法?

我的直觉告诉我,如果资源是相关/依赖的,那么在using语句中使用多个资源是合乎逻辑的.

bob*_*mcr 14

我的主要语言是C#,当你有很多人在同一范围内时,大多数人更喜欢"堆叠"使用:

using (X)
using (Y)
using (Z)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

VB.NET的单一使用语句的问题在于它看起来很混乱,并且很可能会掉到屏幕边缘.所以至少从这个角度来看,VB.NET中的多种用法看起来更好.

也许如果你将第二种语法与行连续结合起来,它看起来会更好:

Using objBitmap As New Bitmap(100,100), _
      objGraphics as Graphics = Graphics.FromImage(objbitmap)
    ' ...
End Using
Run Code Online (Sandbox Code Playgroud)

这让你更接近我认为更好的可读性.