Ist es aufgrund von String-Pooling von CLR oder von der GetHashCode() -Methode beider Strings den gleichen Wert zurückgegeben?Liegt das am String-Pooling nach CLR oder an der Methode GetHashCode()?
string s1 = "xyz";
string s2 = "xyz";
Console.WriteLine(" s1 reference equals s2 : {0}", object.ReferenceEquals(s1, s2));
Console schreibt: "s1 Referenz gleich s2: True"
Ich glaube, es ist nicht wegen der GetHashCode() gibt denselben Wert für beide String-Instanz. Weil ich mit dem benutzerdefinierten Objekt getestet habe und die GetHasCode() -Methode überschrieben habe, um jedes Mal eine einzelne Konstante zurückzugeben. Die zwei separaten Instanzen dieses Objekts sind in der Referenz nicht identisch.
Bitte lassen Sie mich wissen, was passiert hinter der Szene.
dank 123Developer
Beat mich um 32 Sekunden. –
+1 Vielleicht wäre es hilfreich, den Artikel ein wenig in Ihrer Antwort zu zitieren. –