是否有可能在VB.NET中为IF条件内的变量赋值?
像这样的东西:
Dim customer As Customer = Nothing
If IsNothing(customer = GetCustomer(id)) Then
Return False
End If
Run Code Online (Sandbox Code Playgroud)
谢谢
抱歉,没有.另一方面,它会变得非常混乱,因为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)
不,我很确定这是不可能的 - 但要感谢!
这是我永远不会鼓励使用的基于 C 的语言的“特性”,因为它可能经常被误用或误解。
我认为最好的方法是尝试表达“每行一个想法”,并抵制在同一行中组合两个操作的编码。以这种方式结合赋值和比较通常只会使代码更难理解。