Sto cercando di utilizzare LINQ per creare un Dictionary<string, List<CustomObject>>
da a List<CustomObject>
. Posso farlo funzionare usando "var", ma non voglio usare tipi anonimi. Ecco quello che ho
var x = (from CustomObject o in ListOfCustomObjects
group o by o.PropertyName into t
select t.ToList());
Ho anche provato a utilizzare Cast<>()
dalla libreria LINQ una volta che ho x
, ma ottengo problemi di compilazione per l'effetto di essere un cast non valido.
var
non si usa un tipo "anonimo", si usa un tipo "implicito". I tipi anonimi sono nuove classi create dal compilatore per gestire la costruzione new { thing = "stuff" };
. I tipi impliciti sono classi esistenti, var
è solo un modo conveniente per fare riferimento a loro quando la variabile viene assegnata immediatamente, il tipo di variabile può essere dedotto dal tipo di oggetto assegnato. Puoi anche digitare in modo implicito una variabile che fa riferimento a un tipo anonimo, ovvero:var a = new { thing = "stuff" };