Unterschied zwischen == und === in C#
Hallo zusammen! Ich bin neu in C# (habe zuvor in JavaScript programmiert) und bin auf ein Verständnisproblem mit Vergleichsoperatoren gestoßen. In JS gibt es den strikten Vergleich === und den nicht-strikten ==. In C# sehe ich nur ==, habe aber gehört, dass es Equals() und ReferenceEquals() gibt. Ich kann jedoch keine Informationen zu === finden – existiert es einfach nicht? Oder ist das eine Syntax, die ich übersehen habe?
Ich habe folgenden Code ausprobiert:
\nint a = 5;\nint b = 5;\nobject objA = a;\nobject objB = b;\n\nConsole.WriteLine(a == b); // True\nConsole.WriteLine(objA == objB); // False (Referenzvergleich?)\nConsole.WriteLine(objA.Equals(objB)); // True (Wertevergleich?)\n\n\nIch hatte erwartet, dass objA == objB True ergibt, aber ich habe