==运算符用于比较两个操作数是否相对对于基本数据类型就不用多说了没有太大问题
对于引用数据类型如类对象string可能就有一点疑惑
string s=test;
string s=py(s)
ConsoleWriteLine(s==s)
ConsoleWriteLine((object)s==(object)s)
输出结果是
true
false
稍微修改一下
string s=test;
string s=s;
或string s=test;
则输出结果是
true
true
可能对于string类型常量是保存在堆栈中的然后string类型对象就引用同一个对象
而用py()方法会在堆栈中产生一个新的string对象
对于==操作符
如果两个基本数据类型的操作数它们的数值相等它们就被认为是相等的
如果两个object类型的表达式都指向相同的对象或者都是空它们被认为是相等的
如果字符串实例有相同的长度并且在每个字符的位置都相同或者都为空它们被认为是相等的
以上条是在某本书上看到的