MyClass m1 = new MyClass(); MyClass m2 = new MyClass(); Console.WriteLine(m1.Equals(m2));//False !!!??? == m1和m2是两个不同的对象,他们凭什么相等?就像你和我凭什么相等?
Equals判断的是值是否相等 int i = 9; int j = 9; Console.WriteLine(i.Equals(j)); //True 因为这里值相等 都是9 MyClass m1 = new MyClass(); MyClass m2 = new MyClass(); Console.WriteLine(m1.Equals(m2));//False 因为这里值不相等,类的值应该是句柄,两个实例句柄值是不同的
MyClass m2 = new MyClass();
Console.WriteLine(m1.Equals(m2));//False !!!???
==
m1和m2是两个不同的对象,他们凭什么相等?就像你和我凭什么相等?
int i = 9;
int j = 9;
Console.WriteLine(i.Equals(j)); //True 因为这里值相等 都是9
MyClass m1 = new MyClass();
MyClass m2 = new MyClass();
Console.WriteLine(m1.Equals(m2));//False 因为这里值不相等,类的值应该是句柄,两个实例句柄值是不同的