面试题答案
一键面试假设这是C#代码,示例如下:
public class Company
{
public Department MainDepartment { get; set; }
}
public class Department
{
public Employee Manager { get; set; }
}
public class Employee
{
public string FullName { get; set; }
}
class Program
{
static void Main()
{
Company company = new Company();
// 这里假设没有给company.MainDepartment赋值,模拟可能的null情况
string managerName = company?.MainDepartment?.Manager?.FullName ?? "No manager available";
Console.WriteLine(managerName);
}
}
在上述代码中,通过company?.MainDepartment?.Manager?.FullName
使用了null条件运算符,依次检查company
、MainDepartment
、Manager
是否为null
,只要有一个为null
,表达式就会短路并返回null
,然后通过空合并运算符??
返回"No manager available"
。如果所有对象都不为null
,则返回经理的全名。