Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não concordo que a String é imutável

String é mutável pq pode ser concatenada com outra string, mantendo o mesmo nome da variável. O método Substring, sem uma operação de atribuição é que não faz nada com a string, mas se vc marcar um código assim:

string teste = "exemplo";
string teste = teste.Substring(4);
Console.Writeline(teste);

A saida será: plo, portanto alterou a string !!

1 resposta
solução!

Boa tarde, Paulo. Realmente, em nível de C#, parece que a string é mutável, mas, "por baixo dos panos", o runtime do .NET, sempre que você altera uma string, faz uma nova cópia dela. Veja o tópico abaixo que explica isso: https://stackoverflow.com/questions/2365272/why-net-string-is-immutable

Resumindo: "As strings não são realmente imutáveis. Eles são apenas publicamente imutáveis. Isso significa que você não pode modificá-los em sua interface pública. Mas, por dentro, eles são realmente mutáveis."