Lambda检查为null

Mar*_*ark 1 asp.net null lambda

var pq = attributes.SingleOrDefault(a => a.AttributeName == PasswordQuestion").AttributeValue;
Run Code Online (Sandbox Code Playgroud)

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

var pq = (attributes.SingleOrDefault(a => a.AttributeName == "PasswordQuestion") != null) ? attributes.SingleOrDefault(a => a.AttributeName == "PasswordQuestion").AttributeValue : null;
Run Code Online (Sandbox Code Playgroud)

Str*_*ior 6

我通常会利用这个Select方法:

var pq = attributes.Where(a => a.AttributeName == "PasswordQuestion")
            .Select(a => a.AttributeValue)
            .SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)