Skip to content

C# Feature - List patterns

List patterns let pattern matching inspect the length and element layout of a sequence in one expression.

C# 11.0 (2022)

if (numbers.Length == 3 && numbers[0] == 1 && numbers[2] == 3)
{
Console.WriteLine("match");
}
if (numbers is [1, _, 3])
{
Console.WriteLine("match");
}
  • Use list patterns for sequence shape checks, not heavy data processing.
  • Combine them with slice patterns only when readability stays strong.