Я намагаюся використовувати 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" };