0 Tage Serie
csharp / intermediate
Snippet

Fortgeschrittenes Property-Pattern-Matching

Property-Muster ermöglichen es, die Eigenschaften eines Objekts gegen spezifische Werte oder Bereiche zu prüfen. Dies ist sehr lesbar und ersetzt komplexe verschachtelte If-Anweisungen.

snippet.cs
csharp
1
2
3
4
5
6
7
8
9
public record User(string Name, int Age, bool IsAdmin);
public string GetAccessLevel(User user) => user switch
{
{ IsAdmin: true } => "Full Access",
{ Age: < 18 } => "Restricted Access",
{ Name: "Guest" } => "Temporary Access",
_ => "Standard Access"
};
Erklärung
1
user switch { ... }
Startet einen Switch-Ausdruck, um das User-Objekt auszuwerten.
2
{ IsAdmin: true } => ...
Trifft zu, wenn die Eigenschaft IsAdmin genau true ist.
3
{ Age: < 18 } => ...
Verwendet ein relationales Muster, um zu prüfen, ob Age kleiner als 18 ist.