Recap - Null Safety
CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 35/66。
チャレンジ
簡単SafelyProcessData という名前のメソッドを作成し、2 つのパラメータを受け取るようにしてください:
- null になる可能性がある string 型の
name - null 可能な int 型の
age
このメソッドは以下を行うべきです:
- 適切な null チェックパターンを使用して
nameが null または空かどうかをチェックします ageに値があるかどうかをチェックします- 以下の形式でフォーマットされた文字列を返します:
nameが null の場合、"No name provided" を返しますnameが空または空白の場合、"Invalid name" を返しますageが null の場合、"Name: [name], Age: Unknown" を返します- それ以外の場合、"Name: [name], Age: [age]" を返します
すべての可能な null シナリオを処理するために、防御的プログラミング手法を使用してください!
自分で試してみよう
using System;
class Program
{
// SafelyProcessData メソッドをここに実装してください
static void Main(string[] args)
{
string nameInput = Console.ReadLine();
string ageInput = Console.ReadLine();
// 入力が文字列 "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);
}
}ロジックとフローのすべてのレッスン
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