【问题标题】:What is this line of code asking? [duplicate]这行代码在问什么? [复制]
【发布时间】:2015-08-25 22:00:10
【问题描述】:
    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;
        }
    }

其他人编写了此代码。我正在尝试解决我们系统中的错误。我不熟悉:

 == null ? null : ContractConsignee.Schedule

【问题讨论】:

标签: c# null


【解决方案1】:

? :conditional operator

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

【讨论】:

    【解决方案2】:
    return (ContractConsignee == null ? null : ContractConsignee.Schedule);
    

    相当于/的缩写形式

    if (ContractConsignee == null)
    {
        return null;
    }
    else
    {
        return ContractConsignee.Schedule;
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多