Fondamentalement ici je voudrais montrer les chaînes sont immuables avec un exemple donc j'ai pris l'exemple ci-dessous et je sais que GetHashCode() ne renvoie pas l'adresse mais comment puis-je différencier les deux variables se réfèrent à l'emplacement mémoire différent?Comment obtenir l'adresse d'une variable de référence?
Dans le code ci-dessous je veux l'adresse d'une variable chaîne
string s = "hello";
Console.WriteLine(s.GetHashCode());
s = s + "User";
Console.WriteLine(s.GetHashCode());
Mais dans la chaîne Builder cas GetHashCode() retourne même valeur
StringBuilder sb = new StringBuilder();
sb.Append("hi");
Console.WriteLine(sb.GetHashCode());
sb.Append("hello");
Console.WriteLine(sb.GetHashCode());
@Skeet ne devrait-il pas s'agir de 'Object.ReferenceEquals (...)' dans chaque cas? – feralin
@feralin Non, il ne devrait pas ... –
@newStackExchangeInstance s'il vous plaît élaborer. – feralin