csharp / intermediate
Snippet
Verfeinerte bedingte Logik mit Switch-Ausdrücken
Switch-Ausdrücke bieten eine prägnante Möglichkeit, Werte basierend auf Pattern Matching zurückzugeben. Im Gegensatz zu herkömmlichen Switch-Anweisungen sind sie Ausdrücke, die ein Ergebnis liefern und die Lambda-ähnliche '=>'-Syntax verwenden, was den Code lesbarer und funktionaler macht.
snippet.cs
csharp
1
2
3
4
5
6
7
8
9
public enum OrderStatus { Pending, Shipped, Delivered, Cancelled }public string GetStatusMessage(OrderStatus status) => status switch{OrderStatus.Pending => "The order is waiting for processing.",OrderStatus.Shipped => "The package is on its way.",OrderStatus.Delivered => "Item has been received.",_ => "Unknown or cancelled order."};
Erklärung
1
status switch { ... }
Startet den Switch-Ausdruck, der auf der Variable 'status' operiert.
2
OrderStatus.Pending => "..."
Wenn der Status 'Pending' entspricht, ergibt der Ausdruck den String auf der rechten Seite.
3
_ => "..."
Das Discard-Pattern '_' fungiert als Standardfall für alle nicht übereinstimmenden Werte.