3
เลือกพจนานุกรม <T1, T2> ด้วย LINQ
ฉันใช้คีย์เวิร์ด "select" และวิธีการขยายเพื่อส่งคืนIEnumerable<T>ด้วย LINQ แต่ฉันต้องการส่งคืน generic Dictionary<T1, T2>และไม่สามารถหาคำตอบได้ ตัวอย่างฉันเรียนรู้สิ่งนี้จากการใช้บางสิ่งในรูปแบบที่คล้ายกับสิ่งต่อไปนี้: IEnumerable<T> coll = from x in y select new SomeClass{ prop1 = value1, prop2 = value2 }; ฉันทำสิ่งเดียวกันด้วยวิธีการขยาย ฉันคิดว่าเนื่องจากรายการใน a Dictionary<T1, T2>สามารถทำซ้ำได้เนื่องจากKeyValuePair<T1, T2>ฉันสามารถแทนที่ "SomeClass" ในตัวอย่างด้านบนด้วย " new KeyValuePair<T1, T2> { ..." แต่นั่นไม่ได้ผล (คีย์และค่าถูกทำเครื่องหมายว่าอ่านได้อย่างเดียวดังนั้นฉันจึงไม่สามารถรวบรวมรหัสนี้ได้ ) เป็นไปได้หรือฉันต้องทำหลายขั้นตอน? ขอบคุณ