让我们考虑一个示例模型,如下所示。
class student
{
public int ID { get; set; }
public string Name { get; set; }
public school SchoolName { get; set; }
}
class school
{
public int ID { get; set; }
public string Name { get; set; }
}
student student1 = new student();
Run Code Online (Sandbox Code Playgroud)
众所周知,我们访问学校名称如下。
Console.WriteLine(student1.SchoolName.Name);
Run Code Online (Sandbox Code Playgroud)
如果school未分配给 a student,则为student1.SchoolNamenull。所以上述Console.WriteLine()失败。
我最终if为所有这些元素写了一个声明,这是 a$$ 中的一个痛苦。我们是否有其他方法来处理这些情况?
尝试这个:
Console.WriteLine(student1.SchoolName?.Name);
Run Code Online (Sandbox Code Playgroud)
如果 SchoolName 为 null,则不会评估 Name 属性。