class Node
{
Node node;
date date;
}
main()
{
Node a=new Node();
...
Node b=new Node();
...if(a==b)
{
...
}
}if(a==b)这一句判断的是什么东西,是两个对象的地址,还是内容?
{
Node node;
date date;
}
main()
{
Node a=new Node();
...
Node b=new Node();
...if(a==b)
{
...
}
}if(a==b)这一句判断的是什么东西,是两个对象的地址,还是内容?
那么
Node a = new Node();
Node b = new Node();
a == b 必然不成立。另外,如果你打算重写 Equals() 请遵守以下约定:
(1)保证如果 a == b,那么 b == a,如果 a != b,那么 b != a。
(2)保证永远 a == a
(3)保证如果 a == b, b == c,那么永远 a == c
(4)保证如果 a == b,那么 a.GetHashCode() == b.GetHashCode()
如果想判断两个对象中的值是否]相等,那就逐个比较把
或者自己写一个类咯。
引用 属于一种数据类型 与它对应的还有一个是值类型。
顾名思义,引用类型访问时候,传入的不是值,而是值所在的地址。
地址是内存中存储数据的单元。