C# string字符串==和equal

在C#中,string 类型的特点有:

(1)属于基本数据类型;

 (2)是引用类型;

 (3)只读;

 (4) string a="1123";

            string b="1123";

 那么a和b指向同一个内存地址;

但是并非2个相同值相等的字符串就对应同一个内存地址;

(5)2个string 类型做“==”操作,先判断内存地址是否相同,如果相同,则立即返回true;如果内存地址不相同,则继续判断值是否相同。

  (6)有2个字符串值相等,如何判断其对应的内存地址相同呢?

回答:用object强转后进行比较。

          string a = "1234";
          string s = "123";

            s += "4";
          string b = s;
          Console.WriteLine((object)a == (object)b);

参考文章:http://terrylee.cnblogs.com/archive/2005/12/26/304876.html

作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
找一找教程网-随时随地学软件编程 http://www.zyiz.net/

原文地址:https://www.cnblogs.com/puzi0315/p/2628986.html