如何在具有ForEach和Find方法的lambda表达式中检查NULL值.
例如,我有一个下面的方法,它采用逗号分隔的值列表,迭代它们,并为每个值找到一个SelectListItem,如果找到,则将其标记为Selected.当找不到匹配项并且它抛出空引用异常时,会出现问题.
private static void MarkListItemsSelected(string param, IList<SelectListItem> items)
{
var filters = param.Split(';');
filters.ToList()
.ForEach(x => items.ToList()
.Find(y => y.Text.ToUpper().Equals(x.ToUpper()))
.Selected = true);
}
Run Code Online (Sandbox Code Playgroud)