Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Imutabilidade quando usado o =

Fala Guilherme! Tudo certo? Parabéns por sua didática. A qualidade do curso é sensacional.

Guilherme, fiquei com uma dúvida sobre a mutabilidade da classe string. Entendi que se usarmos o += é criado uma variável temporário e apenas contatenamos o novo valor à nossa atual string. Mas, podemos simplesmente fazer assim:

namespace ByteBank.SistemaAgencia
{
    class Program
    {
        static void Main(string[] args)
        {
            string teste = "Minha string";
            Console.WriteLine(teste); // imprime Minha string

            teste = "Segundo teste";
            Console.WriteLine(teste); // imprime Segundo teste

            Console.ReadLine();
        }
    }
}

Neste caso, estamos mudando realmente a string, e não contatenando um valor novo à ela, então como se aplicaria a lógica de que apenas criamos uma variável temporária e perdemos referência do valor original? A IDE verifica o tamanho da string, substrai seu valor e depois contatena o valor "Segundo teste"? Valeu! :)

2 respostas
solução!

então como se aplicaria a lógica de que apenas criamos uma variável temporária e perdemos referência do valor original? Na prática ninguém quase usa isso no dia a dia. Então nem se preocupe muito com isso. A IDE verifica o tamanho da string, substrai seu valor e depois contatena o valor "Segundo teste"? Não nesse caso a string "Segundo teste" sobrescreveu o conteúdo da string teste.

Obrigado pela resposta André! :) Já que não preciso esquentar muito a cabeça com isso, beleza. Era mais curiosidade mesmo ")