Intro To Pattern Matching – Covers C# 9
The .NET development team is considering a small handful of enhancements to pattern matching for C# 9.0 that have a natural synergy and work well to address several common programming problems, Type patterns is used to match the input against a type. If the input type is a match to the type specified in the pattern, the match succeeds. Parenthesized patterns permit the programmer to put parentheses around any pattern. Relational patterns permits the programmer to express that an input value must satisfy a relational constraint when compared to a constant value. Combinator Patterns permits the programmer to combine multiple patterns on one line, with AND/OR operators, or to negate a pattern by using the NOT operator.
https://www.c-sharpcorner.com/article/intro-to-pattern-matching-covers-c-sharp-9/