I have a few places where I need to compare 2 (nullable) values, to see if they\'re the same.
I think there should be something in the framework to support this, but can
C# supports "lifted" operators, so if the type (bool?
in this case) is known at compile you should just be able to use:
return x != y;
If you need generics, then EqualityComparer
is your friend:
return !EqualityComparer.Default.Equals(x,y);
Note, however, that both of these approaches use the "null == null
" approach (contrast to ANSI SQL). If you need "null != null
" then you'll have to test that separately:
return x == null || x != y;