猿问

对象 null 和空检查的最佳方法是什么?

我在 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();

}

但是代码对于检查空对象看起来很糟糕。我们有更好的方法来检查对象的空值吗?


吃鸡游戏
浏览 124回答 1
1回答

千巷猫影

如果您使用的是较新的 C# 版本之一。也许这用Null-conditional Operators看起来更好。然而,无论如何,这是一段不寻常的代码,可能表明需要稍微重构一下。var firstName = this._university?.department?.class?.student?.name?.firstname;if(!string.IsNullOrEmpty(firstName)){   ...}进一步阅读空条件运算符在执行成员访问 (?.) 或索引 (?[]) 操作之前,测试左侧操作数的值为 null;如果左侧操作数的计算结果为 null,则返回 null。String.IsNullOrEmpty指示指定的字符串是空字符串还是空字符串。
随时随地看视频慕课网APP
我要回答