2010-10-21 6 views
60

मैं निम्नलिखित शब्दकोश है:मैं कैसे LINQ का उपयोग कर एक शब्दकोश को फ़िल्टर और एक ही प्रकार से एक शब्दकोश में लौट सकते हैं

Dictionary<int,string> dic = new Dictionary<int,string>(); 
dic[1] = "A"; 
dic[2] = "B"; 

मैं शब्दकोश का आइटम फिल्टर और एक ही चर के लिए परिणाम पुन: असाइन करना चाहते हैं:

dic = dic.Where (p => p.Key == 1); 

मैं परिणाम कैसे लौट सकते हैं एक ही प्रकार [<int,string>] से एक शब्दकोश के रूप में?

मैंने ToDictionary की कोशिश की, लेकिन यह काम नहीं करता है।

अग्रिम धन्यवाद।

+7

भविष्य में, अगर आप की कोशिश की है स्पष्ट दृष्टिकोण लेकिन पाया कि यह काम नहीं करता है, कृपया जिस कोड को आपने आजमाया है उसे पोस्ट करें। –

उत्तर

127

ToDictionary जाने का रास्ता है। यह काम करता है - संभवतः आप इसे गलत तरीके से उपयोग कर रहे थे। इस प्रयास करें:

dic = dic.Where(p => p.Key == 1) 
     .ToDictionary(p => p.Key, p => p.Value); 

कहा करने के बाद कि, मैं तुम्हें ग्रहण वास्तव में अपने वर्तमान एक के रूप में एक अलग Where फिल्टर, चाहते ही कभी एक प्रमुख मिलेगा ...

+0

धन्यवाद, जॉन। तुम सही हो, मैं इसे गलत तरीके से इस्तेमाल कर रहा था। – Homam