Dica C#: Pattern Matching Enhancements em Classes

Juarez Júnior - Aug 31 - - Dev Community

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.");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

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.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .