!= 演算子 (C# リファレンス)
非等値演算子 (!=) では、オペランドが等しい場合に false が返され、それ以外の場合は true が返されます。 非等値演算子は、文字列とオブジェクトを含むすべての型に対して組み込まれています。 != 演算子はユーザー定義型でオーバーロードできます。
解説
組み込みの値型の場合、非等値演算子 (!=) ではオペランドの値が異なる場合に true が返され、それ以外の場合は false が返されます。 string 以外の参照型の場合、!= では 2 つのオペランドが異なるオブジェクトを参照する場合に true が返されます。 string 型の場合は、!= は文字列の値を比較します。
!= 演算子はユーザー定義の値型でオーバーロードできます。詳細については、「operator (C# リファレンス)」を参照してください。 ユーザー定義の参照型でオーバーロードはできますが、既定では、組み込み参照型とユーザー定義参照型のいずれに対しても != は前述のとおりに機能します。 != をオーバーロードする場合は、== もオーバーロードする必要があります。 通常、整数型に対する演算は、列挙に対して適用されます。
使用例
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
*/