LINQ Groupe Par un Objet Dictionary

Je suis en train d'utiliser LINQ pour créer un Dictionary<string, List<CustomObject>> à partir d'un List<CustomObject>. Je peux obtenir ce travail à l'aide de la "var", mais je ne veux pas utiliser les types anonymes. Voici ce que j'ai

var x = (from CustomObject o in ListOfCustomObjects
      group o by o.PropertyName into t
      select t.ToList());

J'ai aussi essayé d'utiliser Cast<>() de LINQ bibliothèque une fois que j'ai x, mais j'ai des problèmes à la compilation, à l'effet d'être un invalide de fonte.

  • Ajouter plus de code, s'il vous plaît.
  • Que faire si vous essayez var x = (à partir de CustomObject o dans ListOfCustomObjects groupe o par o.PropertyName en t sélectionnez t).ToList();
  • Est-il une raison pourquoi vous avez besoin pour ce faire, plutôt que d'utiliser ToLookup, qui est conçu pour cela?
  • Jon, pourriez-vous s'il vous plaît poster un exemple de la façon dont ToLookup œuvres dans cette situation? Je ne suis pas familier avec cette méthode LINQ.
  • Vous êtes génial! (Je veux dire, tout le monde savait déjà, mais quand même.) Raison, je n'ai pas l'intention de l'utiliser ToLookup était parce que je n'avais jamais entendu parler jusqu'à maintenant. Maintenant je sais!
  • Juste à des fins d'exhaustivité, à l'aide de var n'est pas à l'aide d'un "anonyme" de type, c'est à l'aide d'un "implicite" de type. Les types anonymes sont de nouvelles classes créé par le compilateur pour gérer la construction new { thing = "stuff" };. Implicite types de classes existantes, var est juste un moyen pratique de référence lorsque la variable est attribuée immédiatement, le type de variable peut être déduit du type de l'objet affecté. Vous pouvez même implicitement le type d'une variable fait référence à un type anonyme, c'est à dire: var a = new { thing = "stuff" };

InformationsquelleAutor Atari2600 | 2011-06-15