मेरे पास 2 अलग-अलग प्रकार के शब्दकोश हैं Dictionary<int, Fooclass> oldDic
और Dictionary<int, string> barList newDic
। अब मुझे दोनों शब्दकोशों में मूल्यों की तुलना करने की आवश्यकता है। उदाहरण के लिए महत्वपूर्ण हो सकता है मेंलिंक: दो अलग-अलग प्रकार के शब्दकोशों को छोड़कर
- oldDic: 1,2,3
- newDic: 1,2,3,4
- अपेक्षित आउटपुट: 4
अब मैं दोनों की तुलना करने की जरूरत है अपनी चाबियों के आधार पर शब्दकोश किसी भी मदद की सराहना की जाएगी।
संपादित करें: आउटपुट दूसरे शब्दकोश (न्यूडिक) जैसा होना चाहिए लेकिन इसमें 2 डिक्शनरी (पुरानी डिक) का कुछ मूल्य होगा। उदाहरण
1 के लिए, "fooString" कहाँ fooString अधिक स्पष्टता के लिए Fooclass के someproperty में कुछ मूल्य .... है इस जो मेरे लिए काम किया नहीं करती
var addedList = from list1 in baseListDic
join list2 in trackerlist on list1.Key equals list2.Key
select new { key = list1.Key, value = list1.Value._lead };
यहाँ baseListDic oldDic है और trackerlist है newDic .... मुझे पता है कि अगर मैं अभी भी स्पष्ट नहीं कर रहा हूँ चलो ...
IEnumerable परिणाम = newDic.Keys.Except (oldDic.Keys) –
@huMptyduMpty अच्छी तरह से मैं इस की कोशिश की है, लेकिन यह भी मुझे उत्पादन केवल 4. देता है लेकिन मैं fooClass से कुछ मूल्य की जरूरत है भी ... मेरे देखना उपरोक्त पोस्ट में नया संपादन .. –
आपका नया संपादन आपके मूल उदाहरण से सहमत नहीं प्रतीत होता है। अपने मूल में आप उस कुंजी को वापस कर रहे हैं जो कि नए रंग में है लेकिन पुरानी डिक नहीं है, लेकिन आपके दूसरे उदाहरण में आप पुराने में मूल्य लौट रहे हैं जिसमें न्यूडिक में चाबियाँ हैं? शायद कुछ नमूना शब्दकोशों के साथ एक छोटा सा कार्यक्रम बनाएं जो दर्शाता है कि आप क्या चाहते हैं? कोई भी आपको कभी भी कुछ कोड देने के लिए ऑब्जेक्ट नहीं करेगा जो वे आसानी से चला सकते हैं ... :) – Chris