#if FAT using System.Collections.Generic; namespace LinqInternal.Collections { internal class KeyValuePairComparer : IComparer> { private readonly IComparer _keyComparer; private readonly IComparer _valueComparer; public KeyValuePairComparer(IComparer keyComparer, IComparer valueComparer) { _keyComparer = keyComparer ?? Comparer.Default; _valueComparer = valueComparer ?? Comparer.Default; } public int Compare(KeyValuePair x, KeyValuePair y) { var result = _keyComparer.Compare(x.Key, y.Key); return result == 0 ? _valueComparer.Compare(x.Value, y.Value) : result; } } } #endif