我有一些地方需要比较2个(可空)值,看看它们是否相同。
我认为在框架中应该有一些东西来支持这一点,但是找不到任何东西,所以改为:
public static bool IsDifferentTo(this bool? x, bool? y)
{
return (x.HasValue != y.HasValue) ? true : x.HasValue && x.Value != y.Value;
}
然后,在代码中我有 if (x.IsDifferentTo(y)) ...
然后,我有类似的方法为可空整数,可空双精度等。
有没有更简单的方法来判断两个可空类型是否相同?
更新:
原来这个方法之所以存在是因为代码是从 VB.Net 转换过来的,其中 Nothing = Nothing 返回 false (与 C # 相比,其中 null = = null 返回 true)。Net 代码应该改为使用 .Equals...
。