Tôi đã sử dụng từ khóa "select" và phương thức mở rộng để trả về một IEnumerable<T>
LINQ, nhưng tôi có nhu cầu trả lại một cái chung Dictionary<T1, T2>
và không thể tìm ra nó. Ví dụ tôi học được điều này từ việc sử dụng một cái gì đó trong một hình thức tương tự như sau:
IEnumerable<T> coll = from x in y
select new SomeClass{ prop1 = value1, prop2 = value2 };
Tôi cũng đã làm điều tương tự với các phương pháp mở rộng. Tôi đã giả sử rằng các mục trong một Dictionary<T1, T2>
có thể được lặp đi lặp lại vì KeyValuePair<T1, T2>
tôi chỉ có thể thay thế "Một số kính" trong ví dụ trên bằng " new KeyValuePair<T1, T2> { ...
", nhưng nó không hoạt động (Khóa và Giá trị được đánh dấu là chỉ đọc, vì vậy tôi không thể biên dịch mã này ).
Điều này là có thể, hay tôi cần phải làm điều này trong nhiều bước?
Cảm ơn.
.ToDictionary(item => item.prop1, item => item.prop2);
để khám phá thiết lập giá trị quá.