这行代码问的是什么

本文关键字:是什么 代码 | 更新日期: 2023-09-27 17:54:51

    public Schedule Schedule
    {
        get
        {
            return (ContractConsignee == null ? null : ContractConsignee.Schedule);
        }
        set
        {
            if (ContractConsignee == null)
            {
                ContractConsignee = new ContractConsignee(Session);
                ContractConsignee.Assignments.Add(this);
            }
            ContractConsignee.Schedule = value;
        }
    }

这个代码是别人写的。我在试图解决我们系统中的一个bug。我不熟悉:

 == null ? null : ContractConsignee.Schedule

这行代码问的是什么

? :是条件运算符。

如果ContractConsigneenull, getter返回null;否则,返回ContractConsignee.Schedule

return (ContractConsignee == null ? null : ContractConsignee.Schedule);

相当于

的/简写形式
if (ContractConsignee == null)
{
    return null;
}
else
{
    return ContractConsignee.Schedule;
}