Forward equality comparer to dictionary

This commit is contained in:
erri120 2024-08-14 14:26:49 +02:00
parent 0fc595f8a5
commit 82ae67ab29
No known key found for this signature in database

View File

@ -13,17 +13,17 @@ namespace ObservableCollections
readonly Dictionary<TKey, TValue> dictionary; readonly Dictionary<TKey, TValue> dictionary;
public object SyncRoot { get; } = new object(); public object SyncRoot { get; } = new object();
public ObservableDictionary() public ObservableDictionary(IEqualityComparer<TKey>? comparer = null)
{ {
this.dictionary = new Dictionary<TKey, TValue>(); this.dictionary = new Dictionary<TKey, TValue>(comparer: comparer);
} }
public ObservableDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection) public ObservableDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey>? comparer = null)
{ {
#if NET6_0_OR_GREATER #if NETSTANDARD2_1_OR_GREATER || NET6_0_OR_GREATER
this.dictionary = new Dictionary<TKey, TValue>(collection); this.dictionary = new Dictionary<TKey, TValue>(collection: collection, comparer: comparer);
#else #else
this.dictionary = new Dictionary<TKey, TValue>(); this.dictionary = new Dictionary<TKey, TValue>(comparer: comparer);
foreach (var item in collection) foreach (var item in collection)
{ {
dictionary.Add(item.Key, item.Value); dictionary.Add(item.Key, item.Value);