Saya telah menggunakan kata kunci "pilih" dan metode ekstensi untuk mengembalikan IEnumerable<T>
dengan LINQ, tetapi saya harus mengembalikan generik Dictionary<T1, T2>
dan tidak dapat menemukannya. Contoh saya belajar ini dari menggunakan sesuatu dalam bentuk yang mirip dengan yang berikut:
IEnumerable<T> coll = from x in y
select new SomeClass{ prop1 = value1, prop2 = value2 };
Saya juga telah melakukan hal yang sama dengan metode ekstensi. Saya berasumsi bahwa karena item dalam a Dictionary<T1, T2>
dapat diulang karena KeyValuePair<T1, T2>
saya hanya bisa mengganti "SomeClass" dalam contoh di atas dengan " new KeyValuePair<T1, T2> { ...
", tetapi itu tidak berhasil (Kunci dan Nilai ditandai sebagai hanya dapat dibaca, jadi saya tidak dapat mengkompilasi kode ini ).
Apakah ini mungkin, atau apakah saya perlu melakukan ini dalam beberapa langkah?
Terima kasih.
.ToDictionary(item => item.prop1, item => item.prop2);
untuk explicity mengatur nilainya juga.Kumpulan
KeyValuePair
bahkan lebih eksplisit, dan dijalankan dengan sangat baik.sumber