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.