J'essaie d'utiliser LINQ pour créer un fichier à Dictionary<string, List<CustomObject>>
partir d'un fichier List<CustomObject>
. Je peux faire fonctionner cela en utilisant "var", mais je ne veux pas utiliser de 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 également essayé d'utiliser à Cast<>()
partir de la bibliothèque LINQ une fois que je l'ai fait x
, mais j'ai des problèmes de compilation en raison du fait qu'il s'agit d'un cast invalide.
var
pas un type "anonyme", il utilise un type "implicite". Les types anonymes sont de nouvelles classes créées par le compilateur pour gérer la construction new { thing = "stuff" };
. Les types implicites sont des classes existantes, var
c'est juste un moyen pratique de les référencer lorsque la variable est assignée immédiatement, le type de variable peut être déduit du type de l'objet qui lui est assigné. Vous pouvez même taper implicitement une variable référençant un type anonyme, à savoir:var a = new { thing = "stuff" };