CODE:
#using
using namespace System;
int main(array ^args)
{
String^ s1 = "abc";
String^ s2 = "ab" + "c";
Object^ o1 = s1;
Object^ o2 = s2;
Console::WriteLine("{0}", s1 == s2 );
Console::WriteLine("{0}", o1 == o2 );
return 0;
}
CODE:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestApplication
{
class Program
{
static void Main(string[] args)
{
string s1 = "abc";
string s2 = "ab" + "c";
object o1 = s1;
object o2 = s2;
Console.WriteLine("{0}", s1 == s2);
Console.WriteLine("{0}", o1 == o2);
}
}
}
CODE:
Module Module1
Sub Main()
Dim s1 As String = "abc"
Dim s2 As String = "ab" + "c"
Dim o1 As Object = s1
Dim o2 As Object = s2
Console.WriteLine("{0}", s1 = s2)
Console.WriteLine("{0}", o1 = o2)
End Sub
End Module
C#とVBではobject型は同じでo1 と o2は 両方とも Trueが返りますが、C++/CLIは 別扱いのようで Falseが返ります。