19 votes

Comment puis-je déconstruire les tuples de valeurs qui sont hors paramètres en C# 7 ?

Étant donné les éléments suivants :

var dic = new Dictionary<string, (int, int)>()
{
    ["A"] = (1, 2)
};

dic.TryGetValue("A", out (int, int) value);

Je peux facilement obtenir le value à partir du dictionnaire, mais comment puis-je le déconstruire pour obtenir chaque valeur individuelle de sorte que quelque chose comme ceci :

dic.TryGetValue("A", out var (left, right));

19voto

M.kazem Akhgary Points 1122

dic.TryGetValue("A", out var (left, right));

Cette syntaxe n'est pas encore supportée, elle mai être ajouté à l'avenir. référence


Vous pouvez donner un nom aux éléments du tuple comme ceci.

if(dic.TryGetValue("A", out (int left, int right) t))
{
    var (left, right) = (t.left, t.right);

    // use (left, right) or directly use (t.left, t.right)
}

Je ne pouvais pas penser à une syntaxe plus courte, c'est juste une question de temps. c#7 évolue plus vite qu'avant, il faut juste attendre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X