J'ai un objet qui ressemble à ceci:Comment obtenir un Dictionary <string, Liste <Object> avec LINQ?
class Model
{
public string Category {get;set;}
public string Description {get;set;}
}
Actuellement, je reçois la liste complète de ces objets avec LINQ, puis configurer manuellement un dictionnaire, comme ceci:
List<Model> models = //get list from repository and then with linq order them by category and description
Dictionary<string, List<Model>> dict= new Dictionary<string, List<Model>>();
foreach (var m in models) {
if (dict.ContainsKey(m.Category))
{
dict[m.Category].Add(m);
}
else
{
dict.Add(m.Category, new List<Model> { m });
}
}
cette façon dont je peux accéder à tous les modèles d'une certaine catégorie en utilisant les touches.
Existe-t-il un moyen de générer le dictionnaire directement avec une requête LINQ?
Merci!
+1 pour plus de simplicité. –
Regardez les informations sur la classe Lookup; vous devez l'énumérer légèrement différemment puisqu'il s'agit d'une collection spéciale dans une collection. –