DEV Community

Juarez Júnior
Juarez Júnior

Posted on

Dica C#: Extended Property Patterns com Switch

Vamos explorar os Extended Property Patterns, introduzidos no C# 10, que permitem combinar condições mais complexas em propriedades de objetos durante o pattern matching. Veja o exemplo no código abaixo.

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 = 5.99m };

        string resultado = produto switch
        {
            { Preco: > 10.00m } => "Produto caro",
            { Preco: <= 10.00m } => "Produto acessível",
            _ => "Preço desconhecido"
        };

        Console.WriteLine(resultado);
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação:
Com os Extended Property Patterns, você pode usar o pattern matching para acessar propriedades aninhadas de um objeto e aplicar condições diretamente a essas propriedades. Isso simplifica a verificação de condições complexas em objetos e torna o código mais legível e expressivo. No exemplo acima, utilizamos essa funcionalidade para verificar se um objeto Produto tem um Preco maior que um valor específico, tudo isso dentro de uma única expressão switch.

Código fonte: GitHub

Espero que essa dica ajude você a utilizar os Extended Property Patterns para escrever código mais expressivo e eficiente! Até a próxima.

Top comments (0)