Recap - Null Safety
Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 35 de 66.
Desafio
FácilCrie um método chamado SafelyProcessData que recebe dois parâmetros:
- Uma string
nameque pode ser nula - Um int anulável
age
O método deve:
- Verificar se
nameé nulo ou vazio usando padrões apropriados de verificação de nulos - Verificar se
agetem um valor - Retornar uma string formatada da seguinte forma:
- Se
namefor nulo, retornar "No name provided" - Se
nameestiver vazio ou com espaços em branco, retornar "Invalid name" - Se
agefor nulo, retornar "Name: [name], Age: Unknown" - Caso contrário, retornar "Name: [name], Age: [age]"
- Se
Certifique-se de usar técnicas de programação defensiva para lidar com todos os possíveis cenários de valores nulos!
Experimente você mesmo
using System;
class Program
{
// Implemente o método SafelyProcessData aqui
static void Main(string[] args)
{
string nameInput = Console.ReadLine();
string ageInput = Console.ReadLine();
// Lide com o caso em que a entrada é a string "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 as lições de Lógica & Fluxo
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