Uno de los operadores más fascinantes en C# es el operador ?, el cual es un operador condicional. Es usado para sustituir ciertos tipos de sentencias if-then-else. El operador ? es llamado operador terciario porque requiere tres operandos. Este toma la forma general:
Exp1 ? Exp2 : Exp3;
donde Exp1 es una expresión del tipo bool y Exp2 y Exp3 son expresiones normales. El tipo de Exp2 y Exp3 deben ser el mismo. Las expresiones 2 y 3 están separadas por dos puntos. El valor de una expresión ? es evaluada así: Exp1 es evaluada, si es verdadera, entonces la Exp2 es evaluada y llega a ser el valor de toda la expresión ?. Si Exp1 es falsa, entonces se evalúa la Exp2 y su valor obtenido llega a ser el valor de toda la expresión ?.
Consideremos el ejemplo siguiente el cual asigna a la variable absval el valor absoluto de la variable val:
absval = val < 0 ? –val : val; // obtner el valor absoluto de la variable val
aquí a la variable absval le será asignado el valor de val si val es cero o mayor que cero. Si val es negativo, entonces a absval se le asigna el valor negativo de val (el cual llega a ser un valor positivo).
Por ejemplo, veamos algo clásico para los estudiantes. Supongamos que queremos asignar a una variable de cadena el valor APROBADO o REPROBADO si un alumno ha obtenido una calificación adecuada en un exámen. Asumiendo que la nota para aprobar es 70.
int nota = 89;
String condicion = nota >= 70 ? "APROBADO" : "REPROBADO";
No hay comentarios:
Publicar un comentario