Изменения в новых версиях / C# 11.0

using System;

var nums = new[] { 12345 };
if (nums is [.., > 2, _, var odd] && odd % 2 == 1)
{
    Console.WriteLine($"last item {odd} is odd");
    // last item 5 is odd
}

bool IsPalindrome(string str) => str switch
{
    [] => true,
    [_] => true,
    [char first, .. string middle, char last]
        => first == last && IsPalindrome(middle)
};

Console.WriteLine(IsPalindrome("civic"));
// True
Console.WriteLine(IsPalindrome("civil"));
// False


В этом шаблоне:
- пропускается первые два числа; 
- третье должно быть больше 2; 
- четвертое пропускается,
- пятое сохраняется в переменную odd и проверяется не нечетность.