这是分配给从代码中首先提取的linq路径的示例...

applicants = appRegistrations
             .ToList()
             .Select(c => new ApplicantList() {
             PartnerType = c.Participant != null ? c.Participant.PartnerType != null ? c.Participant.PartnerType.PartnerTypeName : "" : ""
});


请注意空检查-考虑到参与者AND PartnerType可以为空,是否可以使用更优雅的方式编写此代码?

我只是讨厌检查每个属性的null。

最佳答案

您可以检查两者之一是否为null

List<ApplicantList> applicants = appRegistrations
    .Select(ar => c.Participant == null || c.Participant.PartnerType == null
                  ? "" : c.Participant.PartnerType.PartnerTypeName)
    .Select(str => new ApplicantList { PartnerType = str })
    .ToList();

关于c# - 在Linq路径中检查空值的更好方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21368532/

10-10 15:33