2011-03-29 60 views
1
var pq = attributes.SingleOrDefault(a => a.AttributeName == PasswordQuestion").AttributeValue; 

上述代碼將在null時引發錯誤。處理這個問題的最好方法是什麼? 下面的代碼可以工作,但我不禁感到有一種更優雅的方式?Lambda檢查爲空

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

回答

6

我通常利用的東西Select方法是這樣的:

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