Saya punya
List<MyObject>
yang saya ambil dari database. Namun, saya ingin memasukkan properti di MyObject untuk tujuan pengelompokan. Apa cara terbaik dengan LINQ untuk memasukkan daftar saya ke:
Dictionary<long, List<MyObject>>
Saya memiliki yang berikut ini:
myObjectList.ToDictionary(x => x.KeyedProperty)
Tapi itu kembali:
Dictionary<long, MyObject>
Jawaban:
Sepertinya Anda ingin mengelompokkan
MyObject
instanceKeyedProperty
dan memasukkan pengelompokan itu ke dalamDictionary<long,List<MyObject>>
. Jika demikian, coba yang berikut inisumber
Anda harus menggunakan
ToLookup
metode ekstensi diEnumerable
kelas seperti ini:Jika Anda ingin menempatkannya di kamus, maka Anda dapat menggunakan
ToDictionary
metode ekstensi , seperti:sumber
ILookup
referensi tersebut menyimpan sedangkan jawaban yang diterima tidak?Lookup<TKey, TValue>
mungkin merupakan struktur yang lebih baik daripada aDictionary<TKey, TValue>
.ILookup
seringkali merupakan struktur dalam kode yang ideal, seringkali tidak ditangani dengan baik untuk serialisasi.