Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    • Cache além do básico: por que LRU e TTL precisam andar juntos
    • Quando usar arquitetura modular — e quando não usar
    • Mais de 200 livros de programação gratuitos em português
    • System Design: da teoria à prática
    • Pessoas e Processos: o fator humano por trás da arquitetura de sistemas
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»C#»Diferença entre parâmetros ref e out – C#

    Diferença entre parâmetros ref e out – C#

    Jhonathan SoaresBy Jhonathan Soares4 de abril de 20162 Mins Read C#
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Ref e out são usados para passar um argumento dentro de um método. Neste artigo, você vai aprender as diferenças entre estes dois parâmetros.

    Ref

    A palavra-chave ref é usado para passar um argumento como uma referência. Isto significa que quando o valor do referido parâmetro é mudado no método, que se reflete no método de chamada. Um argumento que é passado usando uma palavra-chave ref deve ser inicializado no método de chamada antes de ser passado para o método chamado.

    Out

    A palavra-chave out também é usada para passar um argumento como  a palavra-chave ref, mas o argumento pode ser passado sem atribuir qualquer valor a ela. Um argumento que é passado usando uma palavra-chave out deve ser inicializado no método antes de retornar a chamada do mesmo.

    Veja um exemplo:

        public class Example
        {
         public static void Main() //chamada do metodo
         {
         int val1 = 0; //precisa ser inicializado
         int val2; //opcional
         
         Example1(ref val1);
         Console.WriteLine(val1); // val1=1
         
         Example2(out val2);
         Console.WriteLine(val2); // val2=2
         }
         
         static void Example1(ref int value) //metodo chamado
         {
         value = 1;
         }
         static void Example2(out int value) //metodo chamado
         {
         value = 2; //precisa ser inicializado
         }
        }
         
        /* Saída
         1
         2
         */
         

     

    Atenção:

    •  Não se confunda com o conceito de passagem por referência e o conceito de tipo de referência. Estes dois conceitos não são os mesmos.
    • Um tipo de valor ou um tipo de referência pode ser passado para o parâmetro método usando palavra-chave ref. Não há um tipo de valor  “fechado” quando ele é passado por referência.
    • Propriedades não podem ser passadas por ref ou out desde que internamente são funções e variáveis.

    Por hoje é só pessoal! Um grande 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
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    • Cache além do básico: por que LRU e TTL precisam andar juntos
    • Quando usar arquitetura modular — e quando não usar
    Categorias
    • Arquitetura (29)
      • Microsserviços (3)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (93)
      • NoSql (60)
      • Sql (38)
    • Boas práticas (33)
      • Gestão & Produtividade (3)
      • Metodologias Ágeis (6)
    • Cursos (53)
    • Dicas (107)
    • Front-End (92)
    • IA (6)
    • 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

    Testes
    28 de fevereiro de 20254 Mins Read

    30 APIs Gratuitas para desenvolvedores

    APIs são ferramentas essenciais para desenvolvedores que querem criar aplicações mais eficientes, conectadas e funcionais sem reinventar a roda. Desde dados abertos, notícias em tempo real e inteligência artificial até esportes e clima, há APIs gratuitas que oferecem vastas possibilidades de integração. Este artigo apresenta 30 APIs gratuitas que podem acelerar o desenvolvimento e abrir novas oportunidades para projetos inovadores.

    1000 livros gratuitos sobre programação!

    Facebook X (Twitter) Instagram LinkedIn

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

    Vá para versão mobile