2 বা ততোধিক অভিধানকে একত্রিত করার সর্বোত্তম উপায় কী (Dictionary<T1,T2>
# ) সি # ? (লিনকিউ এর মতো 3.0.০ টি বৈশিষ্ট্য ভাল আছে)।
আমি এর লাইন বরাবর একটি পদ্ধতি স্বাক্ষরের কথা ভাবছি:
public static Dictionary<TKey,TValue>
Merge<TKey,TValue>(Dictionary<TKey,TValue>[] dictionaries);
অথবা
public static Dictionary<TKey,TValue>
Merge<TKey,TValue>(IEnumerable<Dictionary<TKey,TValue>> dictionaries);
সম্পাদনা: জারেডপার এবং জোন স্কিটের কাছ থেকে একটি দুর্দান্ত সমাধান পেয়েছি, তবে আমি এমন কোনও বিষয় নিয়ে ভাবছিলাম যা সদৃশ কীগুলি পরিচালনা করে। সংঘর্ষের ক্ষেত্রে এটি যতক্ষণ না সঙ্গতিপূর্ণ ততক্ষণ ডেকের কাছে কোন মান সংরক্ষণ করা যায় তা বিবেচ্য নয়।
dict1.Concat(dict2).GroupBy(p => p.Key).ToDictionary(g => g.Key, g => g.Last().Value)
dictA.Concat(dictB.Where(kvp => !dictA.ContainsKey(kvp.Key))).ToDictionary(kvp=> kvp.Key, kvp => kvp.Value)
।
dicA.Concat(dicB).ToDictionary(kvp => kvp.Key, kvp => kvp.Value)