Интерфейс IComparable
Интерфейс IComparable<T> объявляет
метод CompareTo.
Типы вроде int реализуют его, поэтому
List<int> можно сортировать без
отдельного сравнивателя.
Синтаксис
int CompareTo(T other);
Пример
Давайте сравним два int через CompareTo:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
int a = 1;
int b = 2;
Console.WriteLine(a.CompareTo(b));
}
}
Результат выполнения кода:
-1
Пример
Давайте сравним равные числа:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
int a = 2;
int b = 2;
Console.WriteLine(a.CompareTo(b));
}
}
Результат выполнения кода:
0
Пример
Давайте отсортируем список int:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {5, 1, 4, 2, 3};
nums.Sort();
Console.WriteLine(string.Join(" ", nums));
}
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте проверить порядок строк:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
string a = "a";
string b = "b";
Console.WriteLine(a.CompareTo(b) < 0);
}
}
Результат выполнения кода:
True