मेरे पास 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
आप क्या चाहते हैं कि यह डुप्लिकेट कुंजियों के साथ क्या करे? बस पहले ले लो और बाद वाले को अनदेखा करें? ध्यान रखें कि शब्दकोशों का आदेश नहीं दिया गया है, इसलिए क्वेरी में आपके आदेश का कोई प्रभाव नहीं होगा ...
—
जॉन स्कीट
हो सकता है कि आप जो खोज रहे हों, वह IDEDIA का सॉर्टेडवार्ड कार्यान्वयन हो। अन्यथा एक शब्दकोश में छँटाई व्यर्थ है।
—
Fede