Comment unifier deux tableaux dans un dictionnaire?
Si vous avez deux tableaux string[] a
et int[] b
comment pouvez-vous obtenir un Dictionary<string,int>
de la manière la plus efficace et avec moins de code possible? Supposons qu'ils contiennent le même nombre d'éléments.
Par exemple, est-ce la meilleure façon de faire?
Dictionary<string,int> vals = new Dictionary<string,int>();
for(int i = 0; i < size; i++)
{
vals.Add(a[i],b[i]);
}
source d'informationauteur selion
Vous devez vous connecter pour publier un commentaire.
Si votre objectif est de faire correspondre à des positions dans les séquences, vous pouvez utiliser
Enumerable.Zip
.Et puisque vous travaillez avec des tableaux, écrit-il "la main" n'est vraiment pas long. Cependant, vous souhaitez valider au préalable les tableaux sont vraiment égaux en longueur.
Généralement, Linq peut entraîner plus expressif, plus facile à comprendre le code. Dans ce cas, on peut soutenir le contraire est vrai.
Si ce n'est .Net 4, puis vous pouvez faire ce qui suit:
Sans Zip, vous pouvez également le faire:
À L'Aide De ToDictionary: