title: What Is The Point of Value on Nullable Types In C#
body: <p>Trying to get a better understanding of why this is a language feature:</p>
  
  <p>We have:</p>
  
  <pre><code>public static DateTime? Date { get; set; }
  
  
  static void Main(string[] args)
  {
      Date = new DateTime(2017, 5, 5);
  
      Console.WriteLine(Date.Value.Date);
      Console.Read();
  }
  </code></pre>
  
  <p>Why do I need to use Value to take the value from the nullable type? It's not like it checks for null before calling Date, if the value is null it will throw a NullReference exception. I get why .HasValue can work, </p>
  
  <p>but am unsure about why we need .Value on each nulllable type?</p>