共用方式為


HOW TO:測試是否相等

更新:2007 年 11 月

在下列範例中,使用 Managed Extensions for C++ 的相等測試,會根據指標所指向的型別來進行。

如需詳細資訊,請參閱Visual C++ 2005 編譯器的重大變更

範例

// mcppv2_equality_test.cpp
// compile with: /clr:oldSyntax /LD
using namespace System;

bool Test1() {
   String * str1 = S"test";
   String * str2 = S"test";
   return (str1 == str2);
}

這個程式的 IL 顯示傳回值是以這個指令實作:

  IL_0012:  ceq

此指令會比較這兩個 String 物件的位址。

使用新的語法:

// mcppv2_equality_test_2.cpp
// compile with: /clr /LD
using namespace System;

bool Test1() {
   String ^ str1 = "test";
   String ^ str2 = "test";
   return (str1 == str2);
}

這個程式的 IL 顯示傳回值是以 op_Equality 呼叫來實作。

  IL_0012:  call       bool [mscorlib]System.String::op_Equality(string,
                                                                 string)

請參閱

其他資源

Managed 型別