 <p>Your question is answered in section 7.9.6 of the C# specification:</p> <blockquote> <p>If an operand of a type parameter type T is compared to null, and the runtime type of T is a value type, the result of the comparison is false.</p> </blockquote>