这是我今天遇到的一个问题。

我在C#中有一条声明

 EmPayRollData emPayRollData = payroll.EmPayRollDatas.First();


工资单和EmPayRollData都是实体。即工资单是父级,EmPayRollData是子级。

现在我有一个声明:

companyRow.CompanyName = (empowerPayRollData == null) ? string.Empty : empowerPayRollData.Name;


我收到一个尖锐的评论,说:“表达总是错误的”

最佳答案

如果payroll.EmPayRollDatas为空,则应使用:

payroll.EmPayRollDatas.FirstOrDefault()


如果枚举为空,则返回null。在这种情况下,First会引发异常,因此,如果到达您要查询的代码行,则序列将不为空,并且变量不能为null。

10-08 16:19