字符串相等的含义

在.NET中,字符串相等的含义:字符串对象的值相同;

    值相同且引用相同:a = "123";   b = "123";   a、b引用相同(a,b都在CLR的内置池中)
    值相同而引用不同:a = "123";   b = "12";   b += "3";   a、b引用不同(b已经不在内置池中了)
    值相同而引用不同:a = "123";   b = "12";   b += "3";   c = b;   a、c不同
                使引用相同:a = "123";   b = "12";   b += "3";   c = String.Intern(b);   a、c相同(c又被放回内置池中了,而a,c值又相同,故a,c的引用相同)

补充:对象引用相同——(object)a == (object)b为真

另:
集合和数组具有用于访问元素数的不同的方法和特性;
集合和数组具有用于提取特定元素的不同语义;
——使用foreach可以以统一的方式遍历任何集合和数组。

原文地址:https://www.cnblogs.com/yicone/p/305466.html