Класс Comparer
Класс Comparer<T> реализует
IComparer<T>.
Статическое свойство Default
возвращает сравниватель по умолчанию для T.
Синтаксис
Comparer<T> comparer = Comparer<T>.Default;
Пример
Давайте возьмём Comparer для int:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Console.WriteLine(Comparer<int>.Default.Compare(1, 2));
}
}
Результат выполнения кода:
-1
Пример
Давайте отсортируем список:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {5, 1, 4, 2, 3};
nums.Sort(Comparer<int>.Default);
Console.WriteLine(string.Join(" ", nums));
}
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте выполним BinarySearch:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
Console.WriteLine(nums.BinarySearch(3, Comparer<int>.Default));
}
}
Результат выполнения кода:
2
Пример
Давайте проверим, что "b" больше "a":
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Console.WriteLine(Comparer<string>.Default.Compare("b", "a") > 0);
}
}
Результат выполнения кода:
True
Смотрите также
-
свойство
Default,
которое возвращает сравниватель типа -
интерфейс
IComparer,
который описывает метод Compare -
класс
EqualityComparer,
который сравнивает равенство -
метод
Sort,
который использует Comparer