2014-02-24 20:50:00 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
2014-12-02 06:26:25 +00:00
|
|
|
|
namespace NzbDrone.Common.Extensions
|
2014-02-24 20:50:00 +00:00
|
|
|
|
{
|
|
|
|
|
public static class DictionaryExtensions
|
|
|
|
|
{
|
2014-04-01 20:07:41 +00:00
|
|
|
|
public static Dictionary<T1, T2> Merge<T1, T2>(this Dictionary<T1, T2> first, Dictionary<T1, T2> second)
|
|
|
|
|
{
|
2020-01-03 12:49:24 +00:00
|
|
|
|
if (first == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException(nameof(first));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (second == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException(nameof(second));
|
|
|
|
|
}
|
2014-04-01 20:07:41 +00:00
|
|
|
|
|
|
|
|
|
var merged = new Dictionary<T1, T2>();
|
|
|
|
|
first.ToList().ForEach(kv => merged[kv.Key] = kv.Value);
|
|
|
|
|
second.ToList().ForEach(kv => merged[kv.Key] = kv.Value);
|
|
|
|
|
|
|
|
|
|
return merged;
|
|
|
|
|
}
|
2014-05-13 17:57:46 +00:00
|
|
|
|
|
2014-11-22 01:13:00 +00:00
|
|
|
|
public static void Add<TKey, TValue>(this ICollection<KeyValuePair<TKey, TValue>> collection, TKey key, TValue value)
|
2014-05-13 17:57:46 +00:00
|
|
|
|
{
|
2016-02-28 15:41:22 +00:00
|
|
|
|
collection.Add(new KeyValuePair<TKey, TValue>(key, value));
|
2014-05-13 17:57:46 +00:00
|
|
|
|
}
|
2014-02-24 20:50:00 +00:00
|
|
|
|
}
|
|
|
|
|
}
|