Nullable Value Types
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 32 von 66.
In C# können Werttypen wie int, float und bool normalerweise keine null-Werte aufnehmen. Nullable-Werttypen ermöglichen es diesen Typen, entweder einen Wert oder null darzustellen.
Eine normale int deklarieren:
int regularNumber = 10;Deklarieren Sie eine nullable int mit der ?-Syntax:
int? nullableNumber = 20;Einem nullbaren Typ null zuweisen:
nullableNumber = null;Nach der Ausführung des obigen Codes enthält nullableNumber keinen Wert (null).
Prüfen, ob ein nullbarer Typ einen Wert hat:
if (nullableNumber.HasValue)
{
Console.WriteLine("Value is: " + nullableNumber.Value);
}
else
{
Console.WriteLine("No value");
}Sie können auch den Nullzusammenführungsoperator verwenden, um einen Standardwert bereitzustellen:
int definiteNumber = nullableNumber ?? 0;Aufgabe
EinfachErstellen Sie eine Methode namens ProcessNullableAge, die:
- Nimmt einen nullable int Parameter namens
age - Überprüft, ob das Alter einen Wert hat
- Wenn es einen Wert hat, gibt "Age is: X years" aus (wobei X der Wert ist)
- Wenn es keinen Wert hat, gibt "Age not provided" aus
- Gibt den Alterswert zurück, wenn vorhanden, sonst 0
Probier es selbst
using System;
class Program
{
// Implementieren Sie die ProcessNullableAge-Methode hier
static void Main(string[] args)
{
string input = Console.ReadLine();
int? age = null;
if (input != "null")
{
age = int.Parse(input);
}
int result = ProcessNullableAge(age);
Console.WriteLine("Returned value: " + result);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
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Übe selbstständig: Online-C#-Compiler