Простые типы / Типы с "пустым" значением

using System;

int? n = GetValue();

var value = n ?? -1;
Console.WriteLine(value);

//is equal to
value = n != null ? (int)n : -1;
Console.WriteLine(value);

//which is equal to
if (n != null)
    value = n.Value;
else
    value = -1;

Console.WriteLine(value);


intGetValue() {
    return null;
}