C# · Intermediário · Inglês · Técnico
positional pattern
Padrão que usa a sintaxe de desconstrução, como (x, y), para testar e extrair valores de um tipo. Funciona com tuplas, records posicionais e tipos com Deconstruct.
Onde usar
Aparece em switch expressions sobre pares de valores ou sobre records, como (0, 0) => origem. Deixa regras de negócio compactas, e o compilador avisa se faltar algum caso.
Em código
string Onde(Ponto p) => p switch
{
(0, 0) => "origem",
(var x, 0) => $"eixo X em {x}",
_ => "outro lugar"
};
record Ponto(int X, int Y);Exemplos
A positional pattern makes this switch compact.
Um positional pattern deixa esse switch compacto.
The record deconstructs into the positional pattern.
O record se desconstrói no positional pattern.
Cuidado
Não confunda com property pattern: o posicional depende da ordem dos componentes, o de propriedade usa nomes.
Antônimos
property pattern