using System;
class Program
{
static void Main()
{
//c# types - 2 borad categories
//Value Types - int, float, double, structs, enums etc
//Reference Types - Interface, Class(string is a class), delegates, arrays etc
//Default value types are non nullable but possible to use with ?
//string Name = null;
//int i = null; can't declare as an null
//int? i = null; //use ?
/*bool? AreYouMajor = null;
if (AreYouMajor == true)
{
Console.WriteLine("User is Major");
}
else if (AreYouMajor == false) // if the value is true - (!AreYouMajor.Value)
{
Console.WriteLine("User is not Major");
}
else
{
Console.WriteLine("User did not answer the question");
}*/
/*int? TicketsOnSale = 10;
int AvaiableTickts;
if (TicketsOnSale == null)
{
AvaiableTickts = 0;
}
else
{
//AvaiableTickts = TicketsOnSale.Value; //needs to convert
AvaiableTickts = (int)TicketsOnSale; //nullable(TicketsOnSale) -> non nullable(AvaiableTickts)
}
Console.WriteLine("AvaiableTickts is {0}", AvaiableTickts);*/
//using Null Coalescing Operator ??
int? TicketsOnSale = 10;
int AvaiableTickts = TicketsOnSale ?? 0;
Console.WriteLine("AvaiableTickts is {0}", AvaiableTickts);
}
}