C# 2.0 Feature: Nullable Types

One of the new features of C# 2.0 is nullable types. Now C# 2.0 allows you to assign null values to premitive types such as int, long, and bool.

The following code shows how to define an integer as nullable type and checks if the value of the integer is null or not.

/// <summary>
Nullable types
/// </summary>
public static void TestNullableTypes()
// Syntax to define nullable types
? counter;
counter = 100;
if (counter != null
// Assign null to an integer type
counter = null
Console.WriteLine("Counter assigned null."
Console.WriteLine("Counter cannot be assigned null."

If you remove the "?" from int? counter, you will see a warning as following: