这个linq:
list.AddRange(from modelState in context.ModelState.Values
from error in modelState.Errors
select error.Exception.ToString());
如果有error.Exception
则有效。但是,如果error.Exception
为null
,则会引发空引用错误。如何修改它以检查null?
答案 0 :(得分:0)
添加Where
子句:
from modelState in context.ModelState.Values
from error in modelState.Errors
where error.Exception != null
select error.Exception.ToString()
也许你会发现使用SelectMany
更具可读性:
from m in context.ModelState.Values.SelectMany(v => v.Errors)
where m.Exception != null
select m.Exception.ToString()
如果您希望null
项为error.Exception
为null,请使用?.
运算符:
context.ModelState.Values.SelectMany(v => v.Errors.Select(e => e.Exception?.ToString())