Лямбда проверка на ноль - PullRequest
       24

Лямбда проверка на ноль

1 голос
/ 29 марта 2011
var pq = attributes.SingleOrDefault(a => a.AttributeName == PasswordQuestion").AttributeValue;

Приведенный выше код выдаст ошибку, если ноль. Каков наилучший способ справиться с этим? Приведенный ниже код будет работать, но я не могу помочь, но чувствую, что есть более изящный способ?

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

1 Ответ

6 голосов
/ 29 марта 2011

Я обычно использую метод Select для таких вещей:

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