2014-05-11 38 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; 
} 
相关问题