Lambda检查为null

时间:2011-03-29 16:39:56

标签: asp.net lambda null

var pq = attributes.SingleOrDefault(a => a.AttributeName == PasswordQuestion").AttributeValue;

如果为null,上面的代码将抛出错误。处理这个问题的最佳方法是什么? 下面的代码可行,但我不禁觉得有更优雅的方式吗?

var pq = (attributes.SingleOrDefault(a => a.AttributeName == "PasswordQuestion") != null) ? attributes.SingleOrDefault(a => a.AttributeName == "PasswordQuestion").AttributeValue : null;

1 个答案:

答案 0 :(得分:6)

我通常会将Select方法用于这样的事情:

var pq = attributes.Where(a => a.AttributeName == "PasswordQuestion")
            .Select(a => a.AttributeValue)
            .SingleOrDefault();