我在C#中有如下代码:
If (this._university != Null and this._university.department !=null &&
this._university.department.class !=null &&
this._university.department.class.student != null &&
this._university.department.class.student.name != null &&
this._university.department.class.student.name.firstname != null &&
this._university.department.class.student.name.firstname !=String.empty)
{
// selecting first letter of Firstname
var F_firstname = this._university.department.class.student.name.firstname[0].tostring();
}
Run Code Online (Sandbox Code Playgroud)
但是代码看起来非常糟糕,无法检查null对象.我们有更好的方法来检查对象的空值吗?
如果您使用的是后来的C#版本之一.使用Null条件运算符可能会更好看.然而,无论如何,这是一个不寻常的代码,可能指出需要重构一点.
var firstName = this._university?.department?.class?.student?.name?.firstname;
if(!string.IsNullOrEmpty(firstName))
{
...
}
Run Code Online (Sandbox Code Playgroud)
进一步阅读
在执行成员访问(?.)或索引(?[])操作之前,测试左操作数的值为null; 如果左侧操作数计算为null,则返回null.
指示指定的字符串是null还是空字符串.
| 归档时间: |
|
| 查看次数: |
1206 次 |
| 最近记录: |