Share via


== 運算子 (C# 參考)

更新:2007 年 11 月

對於預先定義的實值型別 (Value Type),等號比較運算子 (==) 在運算元相等時傳回 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# 程式設計手冊

參考

C# 運算子

其他資源

C# 參考