Оператор == (справочник по C#)
Для предопределенных типов значений оператор равенства (==) возвращает значение true, если значения его операндов совпадают, в противном случае — значение false.Для ссылочных типов, отличных от string, оператор == возвращает значение true, если оба его операнда ссылаются на один и тот же объект.Для типа string оператор == сравнивает значения строк.
Заметки
Типы значений, определенные пользователем, могут вызвать перегрузку оператора == (см. раздел оператор).Ее могут вызвать и пользовательские ссылочные типы, хотя по умолчанию оператор == работает в соответствии с приведенным выше описанием как для предопределенных, так и пользовательских ссылочных типов.Если оператор == перегружен, то оператор != тоже должен быть перегружен.Операции над целыми типами обычно разрешены в перечислениях.
Пример
class Equality
{
static void Main()
{
// Numeric equality: True
Console.WriteLine((2 + 2) == 4);
// Reference equality: different objects,
// same boxed value: False.
object s = 1;
object t = 1;
Console.WriteLine(s == t);
// Define some strings:
string a = "hello";
string b = String.Copy(a);
string c = "hello";
// Compare string values of a constant and an instance: True
Console.WriteLine(a == b);
// Compare string references;
// a is a constant but b is an instance: False.
Console.WriteLine((object)a == (object)b);
// Compare string references, both constants
// have the same value, so string interning
// points to same reference: True.
Console.WriteLine((object)a == (object)c);
}
}
/*
Output:
True
False
True
False
True
*/
См. также
Ссылки
Основные понятия
Руководство по программированию на C#