Поделиться через


Оператор != (справочник по C#)

Обновлен: Ноябрь 2007

Оператор неравенства (!=) возвращает значение false, если его операнды равны, в противном случае — значение true. Операторы неравенства предопределены для всех типов, включая строку и объект. Типы, определенные пользователем, могут вызвать перегрузку оператора !=.

Заметки

Для предопределенных типов значений оператор неравенства (!=) возвращает значение true, если значения его операндов совпадают, в противном случае — значение false. Для ссылочных типов, отличных от string, оператор != возвращает значение true, если оба его операнда ссылаются на разные объекты. Для типа string оператор != сравнивает значения строк.

Типы значений, определенные пользователем, могут вызвать перегрузку оператора != (см. раздел оператор). Ее могут вызвать и пользовательские ссылочные типы, хотя по умолчанию оператор != работает в соответствии с приведенным выше описанием как для предопределенных, так и пользовательских ссылочных типов. Если оператор != перегружен, то оператор == тоже должен быть перегружен. Операции над целыми типами обычно разрешены в перечислениях.

Пример

class InequalityTest
{
    static void Main()
    {
        // Numeric inequality:
        Console.WriteLine((2 + 2) != 4);

        // Reference equality: two objects, same boxed value
        object s = 1;
        object t = 1;
        Console.WriteLine(s != t);

        // String equality: same string value, same string objects
        string a = "hello";
        string b = "hello";

        // compare string values
        Console.WriteLine(a != b);

        // compare string references
        Console.WriteLine((object)a != (object)b);
    }
}
/*
Output:
False
True
False
False
*/

См. также

Основные понятия

Руководство по программированию в C#

Ссылки

Операторы C#

Другие ресурсы

Справочник по C#