The C# nullable types -
Nullable<T> - override Object.Equals(object) method, as well as overload equality operator (==). The Object.Equals() is a virtual method that accepts any reference type argument. On the other hand, a call to overloaded equality operator (==) goes through strict type checking of arguments at compile time. Therefore, the equality operator (==) overloaded by Nullable< T > can only be applied on operands of type Nullable< T > or T.
This code defines some nullable types, and boxes them to create reference type objects:
// A nullable-int int? ni = 10; // box ni object oi = ni; // box int 10 object oten = 10; // A null-nullable-int int? nni = null; // box nni object onni = nni;
Which one of following equality checks on above data instances would return false?