2014-05-11 36 views
0

我有以下代碼:LINQ設定值,如果不爲空

model.Attendees.Single(p => p.Value == this.CurrentPerson.PersonId.ToString() && p.Disabled == false).Selected = true;   

的人被禁止,因此嘗試設置選擇爲true時帶回了一個空引用。

有HANDELING這個的LINQ方式或者我應該做的,如果不爲空,然後設置值。我已經試過單身和的SingleOrDefault

+0

我假設你的目標來更新數據庫設置爲與會者選擇?關於你想要做什麼的更多細節將幫助我們回答。老實說,恕我直言,最好的方法是'SingleOrDefault'沒有'p.Disabled'條件。然後做一個空檢查和禁用檢查,並處理告訴用戶他們被禁用。否則將變量設置爲true並保存。 –

回答

1

最好的(如註釋)先用的SingleOrDefault

獲得該項目
var item = model.Attendees.SingleOrDefault(p => p.Value == this.CurrentPerson.PersonId.ToString() && p.Disabled == false);  

然後檢查或項目爲空,如果不喜歡使用對象:

if(item != null) 
{ 
    item.Selected = true; 
} 
相關問題