Operadores lógicos condicionales
Parte de la sección Lógica y Flujo del Journey de C# de Coddy. Lección 37 de 66.
C# proporciona operadores especiales para trabajar con valores null de forma concisa. Dos operadores útiles son ?? (el operador de coalescencia de null) y ?. (el operador condicional de null). Ten en cuenta que estos son operadores para gestionar null: el término «operadores lógicos condicionales» en C# se refiere a && y ||.
Primero exploremos el operador de fusión de null (??). Este operador devuelve el operando izquierdo si no es null; de lo contrario, devuelve el operando derecho.
Crea una variable de cadena que podría ser nula:
string name = null;Usa el operador de fusión de null para proporcionar un valor predeterminado:
string displayName = name ?? "Guest";Después de ejecutar el código anterior, la variable displayName contiene:
"Guest"Si name tuviera un valor, ese valor se usaría en su lugar:
string name = "Alice";
string displayName = name ?? "Guest";Ahora displayName contiene:
"Alice"Desafío
FácilCrea un método llamado getSafeValue que acepte dos argumentos:
- Un entero anulable (
int?value) - Un entero (
intdefaultValue)
El método debe devolver el valor si no es nulo; de lo contrario, debe devolver defaultValue. Usa el operador de fusión de valores nulos (??) para lograrlo.
Pruébalo tú mismo
using System;
class GetSafeValue
{
public static int getSafeValue(int? value, int defaultValue)
{
// Escribe tu código aquí
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Arrays multidimensionales
Conceptos básicos de arrays 2DDeclaración e inicialización de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DArrays irregularesOperaciones comunes con matricesRepaso: arrays multidimensionales4Técnicas de control de flujo
Retornos anticipadosCláusulas de guardaSentencias de salto (goto)Break y ContinueAplanar condicionales anidados7Operadores lógicos avanzados
Evaluación de cortocircuitoOperadores lógicos condicionalesPrecedencia de operadoresRepaso: operadores avanzados2Toma de decisiones avanzada
Múltiples condicionesLógica booleana complejaComparación entre If y SwitchSentencias Switch anidadasRepaso: decisiones avanzadas5Manejo de excepciones
Fundamentos de Try-CatchTipos de excepcionesMúltiples bloques CatchTrabajo con archivosBloque FinallyUso de Using frente a Try-FinallyExcepciones personalizadasRepaso: manejo de errores3Mejoras de bucles
Rendimiento de buclesIteración de estructuras complejasCada tipo de bucleRefactorización de buclesRepaso: bucles optimizados6Manejo de valores nulos
Conceptos básicos de referencias nulasTipos de valor anulablesPatrones de comprobación de valores nulosProgramación defensivaRepaso: seguridad frente a valores nulosPractica por tu cuenta: Compilador de C# online