检查两个值中的一个是否为空而另一个值不为零的简洁方法

时间:2016-08-29 09:31:16

标签: c#

有时我需要验证两个值中的一个,一个 null而另一个不是。这有效:

(a != null && b == null) || (a == null && b != null)

但是当变量名更长时,它会变得混乱,就像对象上的嵌套属性一样。创建一个辅助函数是一个很好的选择,但有一个更简洁的语法来内联编写它吗?

1 个答案:

答案 0 :(得分:5)

试试这个:

(a == null) != (b == null)

请注意,如果您的类覆盖了operator ==,则可能会出现问题。 以下不使用operator ==

object.ReferenceEquals(a, null) == object.ReferenceEquals(b, null)