我在 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();}但是代码对于检查空对象看起来很糟糕。我们有更好的方法来检查对象的空值吗?
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
如果您使用的是较新的 C# 版本之一。也许这用Null-conditional Operators看起来更好。然而,无论如何,这是一段不寻常的代码,可能表明需要稍微重构一下。
var firstName = this._university?.department?.class?.student?.name?.firstname;
if(!string.IsNullOrEmpty(firstName))
{
...
}
进一步阅读
空条件运算符
在执行成员访问 (?.) 或索引 (?[]) 操作之前,测试左侧操作数的值为 null;如果左侧操作数的计算结果为 null,则返回 null。
String.IsNullOrEmpty
指示指定的字符串是空字符串还是空字符串。
- 1 回答
- 0 关注
- 123 浏览
添加回答
举报
0/150
提交
取消