ExpertiDict

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

deconstruction

/ˌdikənˈstrʌkʃən/substantivo

Sintaxe que separa uma tupla ou objeto em variáveis de uma vez, como var (x, y) = ponto, usando tuplas ou um método Deconstruct.

Onde usar

Aparece ao receber vários valores de um método ou ao iterar dicionários com foreach (var (k, v) in dic). Records posicionais já geram o Deconstruct automaticamente.

Em código

var (min, max) = MinMax([3, 1, 4]);
Console.WriteLine($"{min}..{max}");   // 1..4
var (nome, _) = new Pessoa("Ana", 20);
Console.WriteLine(nome);              // Ana
(int, int) MinMax(int[] v)
  => (v.Min(), v.Max());
record Pessoa(string Nome, int Idade);

Exemplos

Deconstruct the tuple into min and max.

Desconstrua a tupla em min e max.

Records give you a Deconstruct method for free.

Records dão um método Deconstruct de graça.

Cuidado

Não é obrigatório pegar todos os valores: use _ para descartar o que não interessa, em vez de criar variáveis sem uso.

Sinônimos

desconstrução

Veja também

Todos os termos de C#