VB.NET:在IF条件中为变量赋值?

Tor*_*ben 6 vb.net

是否有可能在VB.NET中为IF条件内的变量赋值?

像这样的东西:

Dim customer As Customer = Nothing

If IsNothing(customer = GetCustomer(id)) Then
    Return False
End If
Run Code Online (Sandbox Code Playgroud)

谢谢

Mik*_*ron 7

抱歉,没有.另一方面,它会变得非常混乱,因为VB.NET使用相同的运算符进行赋值和相等.

If a = b Then 'wait, is this an assignment or comparison?!
Run Code Online (Sandbox Code Playgroud)

相反,只需设置变量并进行比较:

Dim customer As Customer = Nothing

customer = GetCustomer(id)

If IsNothing(customer) Then
    Return False
End If
Run Code Online (Sandbox Code Playgroud)


MrU*_*own 5

不,我很确定这是不可能的 - 但要感谢!

这是我永远不会鼓励使用的基于 C 的语言的“特性”,因为它可能经常被误用或误解。

我认为最好的方法是尝试表达“每行一个想法”,并抵制在同一行中组合两个操作的编码。以这种方式结合赋值和比较通常只会使代码更难理解。