Estou tentando usar o LINQ para criar um Dictionary<string, List<CustomObject>>de a List<CustomObject>. Posso fazer isso funcionar usando "var", mas não quero usar tipos anônimos. Aqui está o que eu tenho
var x = (from CustomObject o in ListOfCustomObjects
group o by o.PropertyName into t
select t.ToList());
Eu também tentei usar a Cast<>()partir da biblioteca LINQ depois de terx , mas recebo problemas de compilação com o objetivo de ser uma conversão inválida.
varnão está usando um tipo "anônimo", está usando um tipo "implícito". Tipos anônimos são novas classes criadas pelo compilador para manipular a construção new { thing = "stuff" };. Tipos implícitos são classes existentes, varé apenas uma maneira conveniente de referenciá-los quando a variável está sendo atribuída imediatamente; o tipo de variável pode ser deduzido do tipo de objeto que está sendo atribuído a ela. Você pode digitar até mesmo implicitamente uma variável referência a um tipo anônimo, ou seja:var a = new { thing = "stuff" };