Conditional Logical Operators
Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 37 de 66.
Operadores lógicos condicionais em C# fornecem uma maneira de combinar condições com comportamentos especiais. Os dois principais operadores lógicos condicionais são ?? (coalescência nula) e ?. (condicional nula).
Vamos primeiro explorar o operador de coalescência nula (??). Este operador retorna o operando à esquerda se ele não for nulo, caso contrário, retorna o operando à direita.
Crie uma variável string que pode ser nula:
string name = null;Use o operador de coalescência nula para fornecer um valor padrão:
string displayName = name ?? "Guest";Após executar o código acima, a variável displayName contém:
"Guest"Se name tivesse um valor, esse valor seria usado em vez disso:
string name = "Alice";
string displayName = name ?? "Guest";Agora displayName contém:
"Alice"Desafio
FácilCrie um método chamado getSafeValue que recebe dois argumentos:
- Um inteiro anulável (
int?value) - Um inteiro (
intdefaultValue)
O método deve retornar o valor se ele não for nulo, caso contrário deve retornar o defaultValue. Use o operador de coalescência nula (??) para conseguir isso.
Folha de consulta
O operador de coalescência nula (??) retorna o operando da esquerda se ele não for nulo, caso contrário, retorna o operando da direita:
string name = null;
string displayName = name ?? "Guest"; // Retorna "Guest"string name = "Alice";
string displayName = name ?? "Guest"; // Retorna "Alice"O operador condicional nulo (?.) permite acesso seguro aos membros de um objeto que pode ser nulo.
Experimente você mesmo
using System;
class GetSafeValue
{
public static int getSafeValue(int? value, int defaultValue)
{
// Escreva seu código aqui
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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