ExpertiDict

C# · Intermediário · Inglês · Técnico

positional pattern

/pəˈzɪʃənəl ˈpætɚn/substantivo

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

Veja também

Todos os termos de C#