在 VB.Net 4.0 中,我有时需要重复类似的代码,但由于代码的复杂性,我无法创建子程序来简化。我希望能够在 block 范围内声明变量,超出范围,然后重复。我目前的方法是做这样的事情。
If True Then
Dim A = ...
Dim B = ...
(Code using A & B)
End If
...然后根据需要重复。
这个也行...
Try
Dim A = ...
Dim B = ...
(Code using A & B)
Finally
End Try
否则我必须给每个变量唯一的名称...
Dim A1 = ...
Dim B1 = ...
(Code using A1 and B1)
Dim A2 = ...
Dim B2 = ...
(Code using A2 and B2)
...这使得重复代码变得危险,因为我在复制代码时可能会忘记更改变量名。
您可以在 C# 中完成...
{
int A = ...
int B = ...
(Code using A & B)
}
在 VB.Net 中有没有办法以这种方式创建 block ?
最佳答案
我在日本网站上找到了这个答案。
With Nothing
Dim A = ...
Dim B = ...
(Code using A & B)
End With
来自 http://www.ilovex.co.jp/Division/ITD/archives/2007/11/with_nothing.html
(Translated from Japanese) I think if we think about it, to use a With statement of whether it is not a better. Because, With statement is intended to be used in order to omit the code, because it is not intended to associative processing from the statement itself.
所以重点是,“With”语句除了包含快捷方式的代码外,实际上并没有做任何事情。但是,它确实创建了一个独特的范围。这似乎在编译器中应该很轻。虽然我很想看到像“开始/结束”这样的新语句,但从现在开始我将使用它。
关于c# - vb.net 人工作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13405675/