MSDN 文章关于字符串基础知识 http://msdn.microsoft.com/en-us/library/ms228362.aspx显示这个:
string str = "hello";
string nullStr = null;
string emptyStr = "";
string tempStr = str + nullStr; // tempStr = "hello"
bool b = (emptyStr == nullStr);// b = false;
string newStr = emptyStr + nullStr; // creates a new empty string
int len = nullStr.Length; // throws NullReferenceException
为什么与 null 连接不会引发空引用异常?是为了让程序员的生活更轻松,这样他们就不必在连接之前检查 null 吗?
From MSDN http://msdn.microsoft.com/en-us/library/ms228504.aspx:
在字符串连接操作中,
C# 编译器处理空字符串
与空字符串相同,但它
不转换的值
原始空字符串。
更多信息请参阅+ 二元运算符 http://msdn.microsoft.com/en-us/library/aa691375(VS.71).aspx:
二元+运算符执行字符串
当一个或两个都连接时
操作数是字符串类型。
如果
字符串连接的操作数是
null,替换为空字符串。
否则,任何非字符串参数都是
转换为其字符串表示形式
通过调用虚拟 ToString
从类型对象继承的方法。
如果
ToString 返回 null,一个空字符串
被替换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)