Optimization in adding multiple items to an IcdHashSet

This commit is contained in:
Chris Cameron
2017-07-18 12:46:27 -04:00
parent db66fc40cf
commit 201e0878c7

View File

@@ -192,8 +192,19 @@ namespace ICD.Common.Utils.Collections
/// <param name="items"></param> /// <param name="items"></param>
public void AddRange(IEnumerable<T> items) public void AddRange(IEnumerable<T> items)
{ {
if (items == null)
throw new ArgumentNullException("items");
foreach (T item in items) foreach (T item in items)
Add(item); {
// ReSharper disable CompareNonConstrainedGenericWithNull
if (item == null)
// ReSharper restore CompareNonConstrainedGenericWithNull
throw new InvalidOperationException("item");
if (!m_Dict.ContainsKey(item))
m_Dict[item] = null;
}
} }
/// <summary> /// <summary>