You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
820 B
26 lines
820 B
5 years ago
|
#if FAT
|
||
|
|
||
|
using System.Collections.Generic;
|
||
|
|
||
|
namespace LinqInternal.Collections
|
||
|
{
|
||
|
internal class KeyValuePairComparer<TKey, TValue> : IComparer<KeyValuePair<TKey, TValue>>
|
||
|
{
|
||
|
private readonly IComparer<TKey> _keyComparer;
|
||
|
private readonly IComparer<TValue> _valueComparer;
|
||
|
|
||
|
public KeyValuePairComparer(IComparer<TKey> keyComparer, IComparer<TValue> valueComparer)
|
||
|
{
|
||
|
_keyComparer = keyComparer ?? Comparer<TKey>.Default;
|
||
|
_valueComparer = valueComparer ?? Comparer<TValue>.Default;
|
||
|
}
|
||
|
|
||
|
public int Compare(KeyValuePair<TKey, TValue> x, KeyValuePair<TKey, TValue> y)
|
||
|
{
|
||
|
var result = _keyComparer.Compare(x.Key, y.Key);
|
||
|
return result == 0 ? _valueComparer.Compare(x.Value, y.Value) : result;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif
|