C # tipo de referência de seqüência de caracteres?
Eu sei que "string" em c # é um tipo de referência. Isso está no MSDN. No entanto, este código não funciona como deveria:
class Test
{
public static void Main()
{
string test = "before passing";
Console.WriteLine(test);
TestI(test);
Console.WriteLine(test);
}
public static void TestI(string test)
{
test = "after passing";
}
}
A saída deve ser "before passing" "after passing", pois estou passando a string como um parâmetro e sendo um tipo de referência, a segunda instrução de saída deve reconhecer que o texto foi alterado no método TestI. No entanto, eu recebo "antes de passar" "antes de passar" fazendo parecer que é passado por valor não por ref. Eu entendo que as strings são imutáveis, mas não vejo como isso explicaria o que está acontecendo aqui. o que estou perdendo? Obrigado.