Conditional Logical Operators
Часть раздела Логика и управление потоком путешествия по C# на Coddy — урок 37 из 66.
Условные логические операторы в C# предоставляют способ комбинирования условий с особым поведением. Два основных условных логических оператора — это ?? (условное объединение с null) и ?. (null-условный).
Давайте сначала изучим оператор нулевого слияния (??). Этот оператор возвращает левый операнд, если он не null, иначе возвращает правый операнд.
Создайте строковую переменную, которая может быть null:
string name = null;Используйте оператор объединения с null для предоставления значения по умолчанию:
string displayName = name ?? "Guest";После выполнения приведённого выше кода переменная displayName содержит:
"Guest"Если у name есть значение, то вместо этого будет использовано это значение:
string name = "Alice";
string displayName = name ?? "Guest";Теперь displayName содержит:
"Alice"Задание
ЛегкоСоздайте метод с именем getSafeValue, который принимает два аргумента:
- Nullable целое число (
int?value) - Целое число (
intdefaultValue)
Метод должен возвращать value, если оно не равно null, в противном случае возвращать defaultValue. Используйте оператор нулевого слияния (??) для этого.
Шпаргалка
Оператор нулевого слияния (??) возвращает левый операнд, если он не равен null, в противном случае возвращает правый операнд:
string name = null;
string displayName = name ?? "Guest"; // Returns "Guest"string name = "Alice";
string displayName = name ?? "Guest"; // Returns "Alice"Оператор условного доступа (?.) позволяет безопасно обращаться к членам объекта, который может быть null.
Попробуйте сами
using System;
class GetSafeValue
{
public static int getSafeValue(int? value, int defaultValue)
{
// Напишите свой код здесь
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
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