C#之细节决定成败(1)

来源:互联网 发布:鹿晗同款帽子淘宝 编辑:程序博客网 时间:2024/05/24 04:07

Equal与运算符==的关系

 在C#里面有两个不同的相等:应用相等和值相等。顾名思义,值相等表示两个对象所包含的值相等,例如:两个值都是1的具有值相等性,而应用相等比较的不是两个对象,而是这两个“引用对象”是否引用了同一个对象;

1. 值相等类型

如果两对象只是值相等的话,则相等运算符==返回True。否则返回False

2. 引用相等类型

==操作符表示两个变量的值是否相等,或者引用的是否指向同一个内存地址。

Equals()方法比较的是两个对象指向的内存空间里面的内容是否相同,equals也是比较两个“引用类型”是否是对于同一个对象 的引用。即两个对象的内容是否相同。

代码:

namespace testBool

{

    //classperson

    public class ClassPerson

    {

        public ClassPerson(string strName)

        {

            name=strName;

        }

        private string name=null;

        //设置类型的段名和属性

        private string Name

        {

            set{name=value;}

            get{return name;}

        }

 

    }

 

    //主函数

    class Program

    {

        static void Main(string[] args)

        {

            int n1 = 1;

            int n2 = 1;

            Console.WriteLine(n1 == n2);                 //true

            Console.WriteLine(n1.Equals(n2));            //true

 

            string str1 = "test";

            string str2 = "test";

            Console.WriteLine(str1 == str2);               //true

            Console.WriteLine(str1.Equals(str2));       

 

            object s1=str1;

            object s2=str2;

            Console.WriteLine(s1==s2);

            Console.WriteLine(s1.Equals(s2));

 

            string str3=new string(new char[] {'t','e','s','t'});

            string str4=new string(new char[]{'t','e','s','t'});

            object s3=str3;

            object s4=str4;

            Console.WriteLine(s3==s4);

            Console.WriteLine(s3.Equals(s4));

 

            ClassPerson p1=new ClassPerson("liuyuanmian");

            ClassPerson p2=new ClassPerson("liuyuanmian");

            Console.WriteLine(p1==p2);

            Console.WriteLine(p1.Equals(p2));

 

            ClassPerson p3=new ClassPerson("zhangxue");

            ClassPerson p4=p3;

            Console.WriteLine(p3==p4);

            Console.WriteLine(p3.Equals(p4));

 

            Console.ReadKey();

        }

    }

}

 

 

0 0
原创粉丝点击