use*_*949 6 .net c# console-application
只是发现Console.WriteLine可以null正确处理字符串Console.WriteLine((string)null);
我可以假设大多数类库正确处理空引用吗?
Pie*_*kel 10
没有.
这完全取决于您调用的方法.请参阅每种方法的MSDN文档,了解传递时的预期结果null.
null在调用其他人的API或库时做出假设绝对不安全,特别是如果您没有将其源代码用作参考.始终阅读文档.如果文档没有说,请防守代码.
但是,库方法的编程方式是,当它们不接受a时null,它们会抛出一个异常,告诉你它不是一个有效的参数.
嗯,是。
您可以期望(几乎)所有类都能正确处理空引用。
但是,我认为您“正确”的含义与课程作者的含义不同。
例如,如果您尝试打开文件并传递打开文件null的路径,它不会无提示地失败,它将引发异常。
如果那是“正确处理”的意思,那么可以肯定。实际上,我希望所有类都能正确处理空引用。
但是不要指望该程序会像什么都没发生一样陷入困境。
| 归档时间: |
|
| 查看次数: |
4378 次 |
| 最近记录: |