Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»C#»Operador ?? – C#

    Operador ?? – C#

    Jhonathan SoaresBy Jhonathan Soares27 de maio de 20142 Mins Read C#
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Hoje vamos aprender sobre um operador bastante peculiar que o C# possui, é o Operador ??

    ?? 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!

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read

    Entendendo o ObjectId no MongoDB

    C# NoSql 25 de maio de 20246 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile