C# – Why Type int Is Never Equal to null

c++null

int n == 0;

if (n == null)    
{  
    Console.WriteLine("......");  
}

Is it true that the result of expression (n == null) is always false since
a   value of type int  is never equal to   null of type int? (see warning below)

Warning CS0472 The result of the expression is always 'false' since a value of type 'int' is never equal to 'null' of type 'int?'

Best Answer

If you want your integer variable to allow null values, declare it to be a nullable type:

int? n = 0;

Note the ? after int, which means that type can have the value null. Nullable types were introduced with v2.0 of the .NET Framework.