Я намагаюся використовувати LINQ для створення Dictionary<string, List<CustomObject>>
з List<CustomObject>
. Я можу змусити це працювати за допомогою "var", але я не хочу використовувати анонімні типи. Ось що я маю
var x = (from CustomObject o in ListOfCustomObjects
group o by o.PropertyName into t
select t.ToList());
Я також намагався використовувати Cast<>()
з бібліотеки LINQ один раз x
, але я отримую проблеми з компіляцією, тому що це недійсний склад.
var
не використовується тип "анонімний", він використовується "неявний" тип. Анонімні типи - це нові класи, створені компілятором для обробки конструкції new { thing = "stuff" };
. Неявні типи - це існуючі класи, var
це просто зручний спосіб посилання на них, коли змінна призначається негайно, про тип змінної можна зробити висновок з типу об'єкта, який їй присвоюється. Можна навіть неявно ввести змінну, що посилається на анонімний тип, тобто:var a = new { thing = "stuff" };