Je voudrais convertir un jeu de données en un mais je reçois l'erreur suivante: p> Je sais que je peux brut-force cela avec un boucle, mais cela semble être quelque chose que je devrais pouvoir faire à Linq. Merci d'avance pour toute aide! P> p> ienumerable <> code> de
dictionnaire
3 Réponses :
Je suppose que ce que vous voulez est un dictionnaire pour chaque colonne de mappage de ligne pour valoriser:
Je n'ai pas reçu la même erreur que vous l'avez fait, mais sélectionnez DOIT avoir un objet à sélectionner et non à une action (sauf si l'action renvoie l'objet). Dictionary.add retourne Void i>, il ne peut pas être un argument de sélection.
Pourquoi utiliser la colonne .Sélectionnez code> sur un nouvel objet, puis un
.toDictionardiction code> sur cet objet, plutôt que d'un
.todrictionner code> appelez directement?
Voici une façon de le faire dans le format LINQ
var registerdataVerify = (from o in dt.AsEnumerable() select new { DataDef =o["shortName"].ToString(), Value = Convert.ToInt32(o["valueDec"]) }).ToDictionary(n => n.DataDef, n => n.Value);
Pourquoi pas quelque chose de plus simple depuis que vous avez LINQ?
var dt = new dsData.UsersDataTable(); var Dict = dt.ToDictionary(dr => dr.UserName, dr => dr.UserID);