Property Pattern | CSharp
- Property Pattern | CSharp
🧩 O que é
Property Pattern permite verificar os valores das propriedades de um objeto diretamente em expressões is ou switch, tornando o código mais limpo, legível e seguro contra null.
💡 Exemplo básico
if (pessoa is { Nome: "Alice", Idade: >= 18 })
Console.WriteLine("Alice é adulta");
👉 Verifica se pessoa.Nome é "Alice" e pessoa.Idade ≥ 18.
⚙️ Pode ser usado em:
if/is— para checagens diretasswitch— para decisões baseadas em propriedades- Padrões aninhados — acessar propriedades dentro de outras
- Com
var— capturar valores das propriedades - Com
and,or,not— combinar condições
✅ Vantagens
- Código mais curto e expressivo
- Seguro contra
null - Ideal para verificações complexas de objetos
Exemplo comparativo:
// Tradicional
if (p != null && p.Nome == "Alice" && p.Idade >= 18)
// Com property pattern
if (p is { Nome: "Alice", Idade: >= 18 })