C# provides a special data types, the  nullable  types, to which you can assign normal range of values as well as null values.  C# Methods     For example, you can store any value from -2,147,483,648 to 2,147,483,647 or null in a Nullable<Int32> variable. Similarly, you can assign true, false, or null in a Nullable<bool> variable. Syntax for declaring a  nullable  type is as follows:  < data_type> ? <variable_name>  = null;   The following example demonstrates use of nullable data types:  using  System ;  namespace  CalculatorApplication  {     class  NullablesAtShow     {        static  void  Main ( string []  args )        {           int ?  num1 =  null ;           int ?  num2 =  45 ;           double ?  num3 =  new  double ?();           double ?  num4 =  3.14157 ;                     bool ?  boolval =  new  bool ?();            // display the values                     Console . WriteLine ( "Nullables at Show: {0}, {1}, {2}, {3}" , ...
If you are looking to learn something about the Csharp then it's the best place where you can learn everything about Csharp.