Метод Equals
Метод Equals класса Object
сравнивает текущий объект с другим. Для
ссылочных типов без переопределения сравниваются
ссылки; для int и других
упакованных значений - сами значения.
Синтаксис
obj.Equals(другой)
Пример
Давайте сравним два одинаковых int через Equals:
using System;
class Program
{
static void Main()
{
int a = 5;
int b = 5;
Console.WriteLine(a.Equals(b));
}
}
Результат выполнения кода:
True
Пример
Давайте сравним два разных экземпляра своего класса:
using System;
class Box
{
public int Value;
}
class Program
{
static void Main()
{
var a = new Box { Value = 5 };
var b = new Box { Value = 5 };
Console.WriteLine(a.Equals(b));
}
}
Результат выполнения кода:
False
Пример
Давайте сравним две строки с одинаковым текстом:
using System;
class Program
{
static void Main()
{
string a = "abcde";
string b = "abcde";
Console.WriteLine(a.Equals(b));
}
}
Результат выполнения кода:
True
Пример
Давайте сравним object с разными ссылками на строки:
using System;
class Program
{
static void Main()
{
object a = new string("abcde".ToCharArray());
object b = new string("abcde".ToCharArray());
Console.WriteLine(a.Equals(b));
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
ReferenceEquals,
который сравнивает только ссылки -
метод
GetHashCode,
который согласуют с Equals -
тип
bool,
который возвращает Equals -
класс
Object,
который объявляет Equals