Conditional Logical Operators
Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 37 de 66.
Los operadores lógicos condicionales en C# proporcionan una manera de combinar condiciones con comportamientos especiales. Los dos principales operadores lógicos condicionales son ?? (coalescencia de nulos) y ?. (condicional nulo).
Exploremos primero el operador de coalescencia nula (??). Este operador devuelve el operando de la izquierda si no es nulo; de lo contrario, devuelve el operando de la derecha.
Crea una variable de cadena que podría ser nula:
string name = null;Usa el operador de coalescencia nula 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 tome dos argumentos:
- Un entero nullable (
int?value) - Un entero (
intdefaultValue)
El método debe devolver el valor si no es nulo, de lo contrario debe devolver el defaultValue. Usa el operador de coalescencia nula (??) para lograr esto.
Hoja de referencia
El operador de coalescencia nula (??) devuelve el operando de la izquierda si no es nulo, de lo contrario devuelve el operando de la derecha:
string name = null;
string displayName = name ?? "Guest"; // Returns "Guest"string name = "Alice";
string displayName = name ?? "Guest"; // Returns "Alice"El operador condicional nulo (?.) permite el acceso seguro a los miembros de un objeto que podría ser nulo.
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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety