MST

星途 面试题库

面试题:C#中null条件运算符与空合并运算符在复杂对象层次结构中的应用

有一个复杂的类结构,`Company`类包含一个`Department`类型的属性`MainDepartment`,`Department`类包含一个`Employee`类型的属性`Manager`,`Employee`类包含一个字符串属性`FullName`。请使用null条件运算符和空合并运算符来获取公司主部门经理的全名,如果任何环节对象为`null`,则返回'No manager available'。
41.6万 热度难度
编程语言C#

知识考点

AI 面试

面试题答案

一键面试

假设这是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条件运算符,依次检查companyMainDepartmentManager是否为null,只要有一个为null,表达式就会短路并返回null,然后通过空合并运算符??返回"No manager available"。如果所有对象都不为null,则返回经理的全名。