Recap - Null Safety
Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 35 de 66.
Desafío
FácilCrea un método llamado SafelyProcessData que tome dos parámetros:
- Una cadena
nameque podría ser null - Un int nullable
age
El método debería:
- Comprobar si
namees null o está vacío utilizando patrones de comprobación de null apropiados - Comprobar si
agetiene un valor - Devolver una cadena formateada como sigue:
- Si
namees null, devolver "No name provided" - Si
nameestá vacío o contiene solo espacios en blanco, devolver "Invalid name" - Si
agees null, devolver "Name: [name], Age: Unknown" - De lo contrario, devolver "Name: [name], Age: [age]"
- Si
¡Asegúrate de usar técnicas de programación defensiva para manejar todos los posibles escenarios de null!
Pruébalo tú mismo
using System;
class Program
{
// Implementa el método SafelyProcessData aquí
static void Main(string[] args)
{
string nameInput = Console.ReadLine();
string ageInput = Console.ReadLine();
// Maneja el caso donde la entrada es la cadena "null"
string name = nameInput == "null" ? null : nameInput;
int? age = null;
if (ageInput != "null")
{
age = int.Parse(ageInput);
}
string result = SafelyProcessData(name, age);
Console.WriteLine(result);
}
}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