C# · Intermediário · Inglês · Técnico
deconstruction
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