11
votes

Comment puis-je convertir un jeu de données vers un >?

Je voudrais convertir un jeu de données en un ienumerable <> de dictionnaire . J'ai essayé la requête Linq suivante, xxx

mais je reçois l'erreur suivante: xxx

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!


0 commentaires

3 Réponses :


11
votes

Je suppose que ce que vous voulez est un dictionnaire pour chaque colonne de mappage de ligne pour valoriser: xxx


2 commentaires

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 , il ne peut pas être un argument de sélection.


Pourquoi utiliser la colonne .Sélectionnez sur un nouvel objet, puis un .toDictionardiction sur cet objet, plutôt que d'un .todrictionner appelez directement?



7
votes

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);


0 commentaires

4
votes

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);


0 commentaires