==与Equals

==是判断是否指向同一个内存空间

equals是判断是否指向的内存空间的值是相等的!         

 //string类型的比较
            Console.WriteLine(a == b);
            Console.WriteLine(a.Equals(b));
            Console.WriteLine(
"*****************");

            
//引用类型(除string外)的比较
            object obj1 = a;
            
object obj2 = b;
            Console.WriteLine(obj1 
== obj2);
            Console.WriteLine(obj1.Equals(obj2));
            Console.WriteLine(
"*****************");
1、string a = "hello", b = "hello"; //不给b分配内存,只是将b指向"hello"(a和b指向的是同一个字符串"hello")
True
True
*****************
True
True
*****************

2、string a = "hello";
     string b = string.Copy(a); //创建了一个和a具有相同值的新的实例b
True
True
*****************
False 
True  
*****************

3、string a = new string(new char[] { 'h', 'e', 'l', 'l', '0' });
     string b = new string(new char[] { 'h', 'e', 'l', 'l', '0' });
True
True
*****************
False 
True  
*****************

4、string a = new string(new char[] { 'h', 'e', 'l', 'l', '0' });
     string b = "hello";
True 
True 
*****************
False 
True  
*****************

posted on 2008-09-25 15:38  小顾问  阅读(270)  评论(0)    收藏  举报