您的位置:首页 > Web前端

C#中ReferenceEquals和Equals的区别

2009-10-15 18:53 489 查看
ReferenceEquals()判断两个字符串是否指向相同的内存地址;

Equals,先判断两个字符串有相同的内存位置,则两个字符串相等;否则逐字符比较两个字符串,判断是否相等

下面举一个例子看一下:



string peom1 = "Kubla Khan";
            string peom2 = "Kubla Khan";
            string peom3 = String.Copy(peom2);
            string peom4 = "kubla khan";

            //ReferenceEquals()判断两个字符串是否指向相同的内存地址
            Console.WriteLine("peom1 == peom2:"+(peom1 == peom2));//True
            Console.WriteLine("peom1 == peom3:" + (peom1 == peom3));//True
            Console.WriteLine("ReferenceEquals(peom1,peom3):" + ReferenceEquals(peom1, peom3));//False
            
            //Equals,先判断两个字符串有相同的内存位置,则两个字符串相等;否则逐字符比较两个字符串,判断是否相等
            Console.WriteLine("Equal(peom1,peom3):" +String.Equals(peom1, peom2));//true
            Console.WriteLine("Equal(peom1,peom3):" + String.Equals(peom1, peom3));//true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: