En C# no existe el operador “===” que sirve para saber si dos cosas son completamente identifcas?

Alejandro Betancur

Alejandro Betancur

Pregunta
studenthace 6 años

En C# no existe el operador “===” que sirve para saber si dos cosas son completamente identifcas?

5 respuestas
para escribir tu comentario
    Jose Daniel Huerta Vazquez

    Jose Daniel Huerta Vazquez

    studenthace 4 años

    No, recordemos que JS es un lenguaje débilmente tipado, lo que ocasiona que exista la coerción implícita (cuando JS da por hecho un tipo de dato). Al existir esto es que se hace necesario hacer validaciones de valor y tipo (===), sin embargo, C# es fuertemente tipado por lo que esto no ocurre.

    Andres Mauricio Ayala Cardona

    Andres Mauricio Ayala Cardona

    studenthace 5 años

    El operador == de C# es lo mismo que el operador === de JS, C# es un lenguaje altamente tipado y la comparación revisa valor y tipo de valor.

    Arnell Vasquez Corona

    Arnell Vasquez Corona

    studenthace 5 años

    Gracias a que C# es fuertemente tipado, el operador == siempre compara el tipo de dato de las variables, a diferencia de Javascript, donde debes usar el operador === si deseas, además de comparar el valor, comparar el tipo de dato de las variables.

    Incluso, puedes intentar comparar un entero con un string o cualquier otro valor y te darás cuenta que el compilador te dirá que no es posible realizar la acción ya que no son el mismo tipo de dato.

    Screenshot_1.png

    Como plus. si quisieras comparar los valores de variables de diferente valor, debes castear alguno para que tengan el mismo tipo de dato.

    Por ejemplo:

    string var1 = "1"; int32 var2 = 1; if(var1 == var2) { //Error de tipo de dato, no se ejecuta este bloque ya que las variables no son de el mismo tipo de dato } if(var1 == var2.ToString()) { //Si accede al bloque, aunque no son de el mismo tipo, se castea a string la segunda variable que es de tipo int para permitir compararlos }
    Max Rosas Ozuna

    Max Rosas Ozuna

    studenthace 6 años

    no existe, lo que puedas usar para comprar tipos de datos como numeros (int, float, decimal, double, etc), boleanos (bool) o enums puedes usar "==" y para las cadenas de texto (string) o de solo un carecter (char) puedes usar ".equals()"

    Manuel Ojeda

    Manuel Ojeda

    studenthace 6 años

    No existe como tal ese operador para C#, es meramente de JavaScript para realmente saber si la comparación es totalmente idéntico.

Fundamentos de C# con NET Core 2.1

Fundamentos de C# con NET Core 2.1

Desarrolla los fundamentos de programación en C# y .NET Core 2.1. Crea y gestiona entidades como escuelas, alumnos y cursos a través de clases, colecciones, y datos aleatorios. Aprende sobre métodos, propiedades, y el uso de LINQ para consultas eficientes. Ideal para principiantes.

Fundamentos de C# con NET Core 2.1
Fundamentos de C# con NET Core 2.1

Fundamentos de C# con NET Core 2.1

Desarrolla los fundamentos de programación en C# y .NET Core 2.1. Crea y gestiona entidades como escuelas, alumnos y cursos a través de clases, colecciones, y datos aleatorios. Aprende sobre métodos, propiedades, y el uso de LINQ para consultas eficientes. Ideal para principiantes.