Saya mencoba menggunakan LINQ untuk membuat Dictionary<string, List<CustomObject>>
dari List<CustomObject>
. Saya bisa membuatnya bekerja menggunakan "var", tetapi saya tidak ingin menggunakan tipe anonim. Inilah yang saya miliki
var x = (from CustomObject o in ListOfCustomObjects
group o by o.PropertyName into t
select t.ToList());
Saya juga telah mencoba menggunakan Cast<>()
dari perpustakaan LINQ sekali saya miliki x
, tapi saya mendapatkan masalah kompilasi yang hasilnya menjadi pemain yang tidak valid.
var
tidak menggunakan tipe "anonim", itu menggunakan tipe "implisit". Tipe anonim adalah kelas baru yang dibuat oleh kompiler untuk menangani konstruksi new { thing = "stuff" };
. Jenis implisit adalah kelas yang ada, var
hanya cara yang mudah untuk referensi mereka ketika variabel ditugaskan segera, tipe variabel dapat disimpulkan dari jenis objek yang ditugaskan padanya. Anda bahkan dapat secara implisit mengetik variabel yang merujuk pada tipe anonim, yaitu:var a = new { thing = "stuff" };