Esempio n. 1
0
        static void ExibirMensagens()
        {
            Pessoa pessoa = new Pessoa();
            pessoa.Nome = "Marcos";

            Pessoa pessoa2 = new Pessoa();
            pessoa2.Nome = "Marcos Jr.";

            AlterarPessoa(pessoa);
            AlterarReferenciaPessoa(ref pessoa2);

            if (pessoa != null)
                Console.WriteLine("O nome é: " + pessoa.Nome); // exibe
            else
                Console.WriteLine("A pessoa não existe!"); // não exibe

            if (pessoa2 != null)
                Console.WriteLine("O nome é: " + pessoa2.Nome); // não exibe
            else
                Console.WriteLine("A pessoa2 não existe!"); // exibe

            int v1 = 4,
                v2 = 3;

            IncrementarValor(v1); // v1 = 4
            IncrementarValorRef(ref v2); // v2 = 5

            Console.WriteLine("v1 é " + v1 + " e v2 é " + v2); // v1 é 4 e v2 é 5
        }
Esempio n. 2
0
 // Este método irá alterar o valor da variável original, atribuindo-a o valor null
 // Pessoa é um tipo por referência sendo passado por referência
 static void AlterarReferenciaPessoa(ref Pessoa p)
 {
     p.Nome = "João";
     p = null;
 }
Esempio n. 3
0
 // Este método apenas irá alterar o valor da propriedade nome da variável p
 // Pessoa é um tipo por referência
 static void AlterarPessoa(Pessoa p)
 {
     p.Nome = "José";
     p = null;
 }