字符串相等的含义
在.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可以以統一的方式遍歷任何集合和數組。
??? 值相同且引用相同: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/archive/2005/12/27/305466.html
總結
- 上一篇: 爱情是一出未经排练的戏
- 下一篇: 个人的低级错误