Метод Equals
Метод Equals интерфейса
IEqualityComparer<T>
принимает два значения и возвращает true,
если они равны по правилам comparer.
Синтаксис
bool same = comparer.Equals(x, y);
Пример
Давайте сравним int через Default:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Console.WriteLine(EqualityComparer<int>.Default.Equals(3, 3));
}
}
Результат выполнения кода:
True
Пример
Давайте получим False:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Console.WriteLine(EqualityComparer<int>.Default.Equals(1, 2));
}
}
Результат выполнения кода:
False
Пример
Давайте сравним null для ссылочных типов:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Console.WriteLine(EqualityComparer<string>.Default.Equals(null, null));
}
}
Результат выполнения кода:
True
Пример
Давайте сравним строки OrdinalIgnoreCase:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var cmp = StringComparer.OrdinalIgnoreCase;
Console.WriteLine(cmp.Equals("a", "A"));
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
GetHashCode,
который сочетается с Equals -
метод
Equals,
который сравнивает один объект с другим -
свойство
Default,
которое даёт готовый Equals -
интерфейс
IEqualityComparer,
который объявляет оба метода