Wird bei Strings der '=='-Operator überladen?



  • Guten Abend an alle,

    ich hätte eine Frage bezüglich des String-Vergleichs.

    string a = "C#rocks";
    string b = "C#rocks";
    
    if (a == b)
      // Hüpft hier rein!
    

    Meine Frage zu obrigen Codeausschnitt ist einfach nur, warum bei Strings hier der "Inhalt" (Value) verglichen wird, obwohl es ein Referenztyp ist?!

    object o1 = 2008;
    object o2 = 2008;
    
    if (o1 == o2)
      // Hüpft hier [b]nicht[/b] rein!
    

    Denn bei diesem Beispiel wird nämlich ein Referenztyp verglichen und der Vergleich schlägt dieses Mal fehl (zurecht)!

    Aber warum ist das bei den Strings nicht so?!
    Wird der Operator überladen oder ist es eine andere Implementierung?

    Danke euch! Schönen Abend noch!




Log in to reply