ฉันมีคอลเล็กชันของ MyClass ที่ฉันต้องการสืบค้นโดยใช้ LINQ เพื่อรับค่าที่แตกต่างและกลับมาเป็นพจนานุกรม <string, string> เป็นผลลัพธ์ แต่ฉันไม่สามารถหาวิธีที่ฉันสามารถทำได้ง่ายกว่าฉัน ฉันกำลังทำอยู่ด้านล่าง รหัสทำความสะอาดอะไรที่ฉันสามารถใช้เพื่อรับพจนานุกรม <string, string> เป็นผลลัพธ์ของฉัน
var desiredResults = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
var queryResults = (from MyClass mc in myClassCollection
                    orderby bp.SomePropToSortOn
                    select new KeyValuePair<string, string>(mc.KeyProp, mc.ValueProp)).Distinct();
foreach (var item in queryResults)
{
    desiredResults.Add(item.Key.ToString(), item.Value.ToString());
}
          
                
                6
              
                  คุณต้องการทำอย่างไรกับกุญแจที่ซ้ำกัน ใช้เวลาก่อนและไม่สนใจสิ่งที่ตามมา? โปรดทราบว่าพจนานุกรมยังไม่ได้รับคำสั่งดังนั้นการสั่งซื้อของคุณในแบบสอบถามจะไม่มีผลกระทบ ...
                
                
                  
                    —
                    จอนสกีต
                    
                  
                
              
                  บางทีสิ่งที่คุณกำลังมองหาคือการใช้งาน SortedDictionary ของ IDictionary มิฉะนั้นการเรียงลำดับในพจนานุกรมจะไม่มีประโยชน์
                
                
                  
                    —
                    Fede