我碰到了以下旧版VB代码({customerId
是Guid):
If IsNothing(customerID) Or (customerID.Equals(System.Guid.Empty)) Then Throw New InvalidCustomerException End If
根据此link传递给IsNothing
函数的值类型将被装箱,并且该函数将始终返回false。
在我的示例中,If
表达式的第一部分将始终返回false(Guid是值类型)。
如果我将代码重写为以下内容,那是正确的吗?:
If customerID.Equals(System.Guid.Empty) Then
Throw New InvalidCustomerException
End If