Recap - Null Safety
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 35 / 66.
Görev
KolayAdı SafelyProcessData olan bir metot oluşturun, iki parametre alsın:
- null olabilecek bir string
name - nullable bir int
age
Metot şunları yapmalıdır:
- Uygun null kontrol örüntülerini kullanarak
name'in null veya boş olup olmadığını kontrol edin age'in bir değeri olup olmadığını kontrol edin- Aşağıdaki gibi biçimlendirilmiş bir string döndürün:
- Eğer
namenull ise, "No name provided" döndürün - Eğer
nameboş veya boşluk ise, "Invalid name" döndürün - Eğer
agenull ise, "Name: [name], Age: Unknown" döndürün - Aksi takdirde, "Name: [name], Age: [age]" döndürün
- Eğer
Tüm olası null senaryolarını ele almak için savunma programlama tekniklerini kullanmayı unutmayın!
Kendin dene
using System;
class Program
{
// SafelyProcessData metodunu burada uygulayın
static void Main(string[] args)
{
string nameInput = Console.ReadLine();
string ageInput = Console.ReadLine();
// Giriş "null" dizesi olan durumu ele alın
string name = nameInput == "null" ? null : nameInput;
int? age = null;
if (ageInput != "null")
{
age = int.Parse(ageInput);
}
string result = SafelyProcessData(name, age);
Console.WriteLine(result);
}
}Mantık & Akış bölümündeki tüm dersler
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