تحديث جدول هاش من جدول هاش آخر؟
-
10-07-2019 - |
سؤال
وكيف يمكنني تحديث قيم جدول هاش احدا تلو جدول هاش آخر،
وإذا جدول هاش الثاني يحتوي على مفاتيح جديدة بعد ذلك يجب أن تضاف إلى 1 آخر يجب تحديث قيمة جدول هاش 1ST.
المحلول
foreach (DictionaryEntry item in second)
{
first[item.Key] = item.Value;
}
وإذا لزم الأمر يمكن طرح هذا إلى أسلوب تمديد (على افتراض أن كنت تستخدم. NET 3.5 أو أحدث).
Hashtable one = GetHashtableFromSomewhere();
Hashtable two = GetAnotherHashtableFromSomewhere();
one.UpdateWith(two);
// ...
public static class HashtableExtensions
{
public static void UpdateWith(this Hashtable first, Hashtable second)
{
foreach (DictionaryEntry item in second)
{
first[item.Key] = item.Value;
}
}
}
نصائح أخرى
وبعض التعليمات البرمجية على أن (بناء على القاموس):
foreach (KeyValuePair<String, String> pair in hashtable2)
{
if (hashtable1.ContainsKey(pair.Key))
{
hashtable1[pair.Key] = pair.Value;
}
else
{
hashtable1.Add(pair.Key, pair.Value);
}
}
وأنا متأكد من أن هناك حلا أكثر أناقة باستخدام LINQ (على الرغم من أنني التعليمات البرمجية في 2.0؛)).
لا تنتمي إلى StackOverflow