对象比较“==”是比较地址还是值
对比的是对象地址还是它们的值?   
 例如   class   A{   string   name;   ...}   
 数组   A[]   a   =   new   A[6];   
 那 
 if(a[1]   ==   a[2]) 
 {   ...   }   
 if(a[1].name   ==   a[2].name) 
 {   ...   }   
 这两种对比哪种快?
------解决方案--------------------== 在对于不同对象比较时方式不一样 
 对于引用对象 比较的是引用 
 对于值对象 比较的是值   
 但是这是一般原则,有特殊,比如字符串类型 
 本身是引用类型,但是 == 比较的是值 
 速度上没法做比较 比较的东西都不一样
------解决方案--------------------也就是说,对于一般的引用对象 
 比较的就是“是否是同一个东西” 
 再确切点说,就是“是否是指向内存里的同一个对象” 
 对于值对象 
 就要理解为“是否是一样的值”,而这两个值可能属于两个完全不同类型的对象
------解决方案--------------------class 如果实现IComparable  
 == 是值比较 
 否则引用比较 
------解决方案--------------------这个要看类是怎么定义==这个运算符的, 
 如果是类,则一般为引用是否相等, 
     但是String类则不是这个规则,它是比较两个字符串内容是否相等.   
 如果是值类型,则直接比较等是否一样.
------解决方案--------------------要看各个object是怎么重载==运算符的
------解决方案--------------------除了string,不要重载==。