Operador condicional

Definición: ¿Qué significa operador condicional?

Un operador condicional en C #, es un operador que toma tres operandos (condiciones a verificar), el valor cuando la condición es verdadera y el valor cuando la condición es falsa.

Un operador condicional está representado por el símbolo '?:'. El primer operando (especificado antes de '?:') Es la expresión de evaluación (condicional). Tiene que ser tal que el tipo de expresión evaluada se pueda convertir implícitamente a 'bool' o que implemente el operador true para evitar errores de compilación. El segundo y tercer operandos controlan el tipo de expresión condicional. Se usa con más frecuencia en asignaciones y no como una declaración que produzca errores de compilación.

Si el valor de retorno del primer operando (expresión condicional) es verdadero, se evalúa el segundo operando. De lo contrario, se evalúa el tercer operando. Por tanto, el resultado del operador condicional es el resultado de la evaluación de la expresión considerada para evaluación.

Para una expresión expresada como x? A: b, el operando a se evaluará si solo el operando x (la expresión condicional) devuelve verdadero. De lo contrario, se evaluará el operando b.

Este término también se conoce como operador ternario o en línea if (iif).

Techinfo explica el operador condicional

Un operador condicional es el único operador ternario (que toma tres operandos) en C #. Se forma como una alternativa a la construcción if-else, que proporciona una mayor concisión con menos código y mejor legibilidad. Durante la compilación, el compilador de C # traduce la expresión ternaria en declaraciones de rama, que pueden condensar múltiples declaraciones if y reducir el anidamiento en el nivel del código fuente. A veces, el código generado para un operador ternario puede mejorar el rendimiento reordenando algunas de las instrucciones.

Las propiedades de un operador condicional son:

  • Es asociativo por la derecha, lo que implica que las operaciones se agrupan de derecha a izquierda.
  • Siempre evalúa una de las dos expresiones especificadas después del símbolo del operador condicional. Nunca evalúa ambos.
  • El primer operando debe ser de tipo integral o puntero.
  • El segundo y tercer operandos deben ser convertibles entre sí y no mutuamente convertibles a otro tipo.
  • El tipo de resultado es el tipo común, que es un valor l, pero solo si tanto el segundo como el tercer operandos son del mismo tipo y ambos son valores l.
  • Solo la llamada de asignación, el incremento, la disminución y la expresión de nuevo objeto se pueden utilizar como instrucción.
  • Cuando el resultado de una evaluación de una expresión usando un operador ternario se usa en una declaración de retorno de método, su tipo debe coincidir con el tipo de retorno del método adjunto para una compilación exitosa.
  • Cuando el resultado no es una constante, el tipo de expresión condicional se basa en el más común de los dos tipos.

Esta definición se escribió en el contexto de C #