Avatar ·

Diferencia entre == y === en C#

¡Hola a todos! Soy nuevo en C# (anteriormente escribía en JavaScript) y me encontré con una falta de comprensión de los operadores de comparación. En JS existe la comparación estricta === y la no estricta ==. En C# solo veo ==, pero he oído que existen Equals() y ReferenceEquals(). Sin embargo, no puedo encontrar información sobre === — ¿simplemente no existe? ¿O es alguna sintaxis que me he perdido?

\n\n

Probé el siguiente código:

\n
int a = 5;\nint b = 5;\nobject objA = a;\nobject objB = b;\n\nConsole.WriteLine(a == b);          // True\nConsole.WriteLine(objA == objB);    // False (¿comparación de referencias?)\nConsole.WriteLine(objA.Equals(objB)); // True (¿comparación de valores?)\n
\n\n

Esperaba que objA == objB diera True, pero obtuve