这行代码询问的是什么?

时间:2015-06-10 14:52:30

标签: c# null

 == null ? null : ContractConsignee.Schedule

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

data want;
  set have;
  length 
    date $5
    state $20
    id $50
  ;
  date = scan(var1,1);
  state= scan(var1,2);
  call scan(var1,3,position,length);
  id = substr(var1,position);
run;

2 个答案:

答案 0 :(得分:5)

? :conditional operator

如果ContractConsigneenull,则获取者返回null;否则,它将返回ContractConsignee.Schedule

答案 1 :(得分:2)

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

相当于

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