在C#中,我们有:
if (int.TryParse(someString, out var i)) {
// do something with i
}
我可以在Visual Basic中做同样的事情吗?如果不是,我们能得到的最简洁的是什么?
答案 0 :(得分:2)
如果我正确理解了此问题的意图,则不是在问传递引用参数的确切语法(VB.NET一直支持的功能),而是在问是否可以声明内联变量带有方法调用的参数列表,如C#7和更高版本提供的C#功能一样。
因此,previously-proposed duplicate似乎没有解决这个问题。该问题询问的是VB.NET支持的,在传递之前不需要初始化的副引用参数和需要这样做的副引用参数(即out
与ref
)之间的区别。 / p>
这个问题完全是在问其他问题。
不幸的是,VB.NET没有提供允许使用方法调用内联声明局部变量的语法。此外,尽管有几个开放的Github问题要求使用此功能(例如,参见#60,#159和#331),但似乎不太可能再添加它。根据{{3}},Microsoft已声明“展望未来,我们不打算将Visual Basic演变为一种语言” 。据推测,对语言语法的新添加将属于“不断发展的语言”类别,因此将排除方法调用内联的变量声明。
另请参见a blog post from March 11, 2020。
对不起。 :(