== 演算子 (C# リファレンス)

更新 : 2007 年 11 月

組み込みの値型の場合、等値演算子 (==) ではオペランドの値が等しい場合に true が返され、それ以外の場合は false が返されます。string 以外の参照型の場合、== では 2 つのオペランドが同じオブジェクトを参照する場合に true が返されます。string 型の場合は、== は文字列の値を比較します。

解説

== 演算子はユーザー定義の値型でオーバーロードできます。詳細については、「operator」を参照してください。ユーザー定義の参照型でオーバーロードはできますが、既定では、組み込み参照型とユーザー定義参照型のいずれに対しても == は前述のとおりに機能します。== をオーバーロードする場合は、!= もオーバーロードする必要があります。通常、整数型に対する演算は、列挙に対して適用されます。

使用例

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# プログラミング ガイド

参照

C# の演算子

その他の技術情報

C# リファレンス