0 Tage Serie
csharp / expert
Snippet

Mehrstufige Switch-Guards

Kontrollfluss auf Expertenniveau unter Verwendung von Tupel-Mustern kombiniert mit Property-Guards (when-Klauseln). Dies ermöglicht komplexe Logik innerhalb eines prägnanten Ausdrucks, ohne if-Anweisungen zu verschachteln.

snippet.cs
csharp
1
2
3
4
5
6
7
public string GetDiscountDescription(int score, bool isVip) => (score, isVip) switch
{
(> 90, true) => "Elite VIP Discount",
(> 90, false) => "High Score Discount",
(> 50, _) when score % 2 == 0 => "Even Score Bonus",
_ => "Standard Rate"
};
Erklärung
1
(score, isVip) switch
Erstellt ein temporäres Tupel, um gegen mehrere Variablen gleichzeitig zu prüfen.
2
(> 50, _) when score % 2 == 0
Verwendet einen Platzhalter für das zweite Element und einen benutzerdefinierten Guard für das erste.