LINQ设置值,如果不为null

时间:2014-05-11 19:28:37

标签: linq null return-value

我有以下代码:

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

此人被禁用,因此在尝试将Selected设置为true时会返回空引用。

是否有LINQ方式处理此问题,或者我应该执行if if not null然后设置值..我已经尝试过Single和SingleOrDefault

1 个答案:

答案 0 :(得分:1)

Best是(评论时)首先使用SingleOrDefault获取项目

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

然后检查或项目为空,如果不使用对象,如:

if(item != null)
{
    item.Selected = true;
}