Hoje vamos aprender sobre um operador bastante peculiar que o C# possui, é o Operador ??
O operador ?? é chamado de operador união ou coalescing .
Sua definição seguinte a Miscrosoft é :
Retorna o operando esquerdo se o operando não for nula; caso nulo retorna o seguinte.
Bom, não entendi nada!
 Um tipo que permite valor nulo pode representar um valor de domínio do tipo, ou o valor pode ser indefinido (neste caso o valor é nulo).  Você pode usar a expressividade sintática do operador ?? para retornar um valor apropriado quando o operando da esquerda tiver um tipo nullable cujo valor é nulo.
Se você tentar atribuir um tipo de valor que permite valor nulo em um tipo de valor não nulo sem usar o operador de ?? , você irá gerar um erro de tempo de compilação. Se você usar uma conversão, e o tipo de valor que permite valor nulo é atualmente indefinido, a exceção de InvalidOperationException será gerada.
Deu pra entender melhor?
Bom resumidamente o que ele faz é : Substituir o valor de uma variável nula ou o retorno da mesma, sem gerar nenhuma exceção.
Vamos à um exemplo prático:
class NullCoalesce
{
    static int? GetValorNuloInt()
    {
        return null;
    }
    static string GerValorNuloString()
    {
        return null;
    }
    static void Main()
    {
        int? x = null;
         // Set y para o valor de x, se x não é nulo; caso contrário,
         // Se x = null, definir y a -1.
        int y = x ?? -1;
       
         // Atribui i para o valor do método retornar se o resultado do método não é nulo
         // caso contrário, se o resultado é nulo, definir i para o valor 
         // default de int.
        int i = GetNullableInt() ?? default(int);
        string s = GetStringValue();
         // Mostra o valor de s, se s não é nulo; caso contrário,
         // Exibe a string "não especificado".
        Console.WriteLine(s ?? "não especificado");
    }
}
Viu que interessante estes exemplos?
Você pode trabalhar com ele de diferentes maneiras, sem precisar validar se a variável é nula ou coisa do tipo.
Artigo Original : MSDN
Nossa página no Facebook está a todo vapor, faça-nos uma visita! 🙂
Um abraço!

		
									 
					