本文摘自PHP中文网,作者黄舟,侵删。
说在前面
1 |
|
关于c#代码Convert.ToChar(null);出现异常,而object obj = null; Convert.ToChar(obj);//返回’\0’空字符问题详解。
为什么会想到说这个问题呢?
今天在博乐功能下点评一篇文章“关于System.Convert那些事”中提出了这个问题:
1 |
|
直接这样调用,执行时会产生异常;
而以下代码却不会出现异常!
1 2 |
|
异常分析
发生了 System.ArgumentNullException
查看详细信息,可以看到异常的具体信息,是在 System.Convert.ToChar(String value, IFormatProvider provider)发生了异常:
但通过调用堆栈,我们对错误能更清楚的认识;
如下图,在发生异常的方法之间还有一层调用:
System.Convert.ToChar(string value)
System.Convert.ToChar(string value),这才是问题的关键!
相关阅读 >>
C#中textbox输入框自动提示、自动完成、自动补全功能的具体详解(图文)
C# 将datatable数据导出到excel表格中的示例代码分享
更多相关阅读请进入《C#》频道 >>

C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。