为什么其中第二个会产生异常,而第一个却不会?
string s = null;
MessageBox.Show(s);
MessageBox.Show(s.ToString());
更新 - 我可以理解的异常,(对我来说)令人困惑的是为什么第一部分没有显示异常。这与消息框无关,如下所示。
Eg :
string s = null, msg;
msg = "Message is " + s; //no error
msg = "Message is " + s.ToString(); //error
第一部分似乎将 null 隐式转换为空白字符串。
因为你不能调用实例方法ToString()
on a null
参考。
And MessageBox.Show()
可能是为了忽略 null 并打印出空消息框而实现的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)