Vejamos hoje um outro exemplo de Pattern Matching Enhancements do C# 9.
public class Produto
{
public string Nome { get; set; }
public decimal Preco { get; set; }
}
public class Program
{
public static void Main()
{
Produto produto = new Produto { Nome = "Caneta", Preco = 2.99m };
if (produto is { Nome: "Caneta", Preco: <= 5.00m })
{
Console.WriteLine("Produto válido e com preço acessível.");
}
else
{
Console.WriteLine("Produto inválido ou preço alto.");
}
}
}
No código acima, usamos o pattern matching para verificar se o objeto produto tem Nome igual a "Caneta" e Preco menor ou igual a 5.00m. O interessante desse exemplo é que estamos comparando os valores das propriedades da classe de uma forma intuitiva e fácil de ler.
Código fonte: GitHub
Espero que essa dica ajude você a explorar novas maneiras de usar o pattern matching em C#! Até a próxima.