このシナリオで lambda または linq を使用してネストされた foreach ステートメントを使用しないようにするにはどうすればよいですか? 遅れており、入れ子になった foreach ステートメントに戻らずに ErrorMessage プロパティにアクセスする方法を理解できないようです。コードが完全に Lambda または Linq を使用して書き直された場合、同等の方法は何でしょうか?
public static List<String> ExtractErrors(this ModelStateDictionary modelStateDictionary)
{
List<String> errors = new List<String>();
var modelErrorCollection = (from modelState in modelStateDictionary.Values
where modelState.Errors != null && modelState.Errors.Count > 0
select modelState.Errors).ToList();
foreach (var item in modelErrorCollection)
{
foreach (ModelError modelError in item)
{
errors.Add(modelError.ErrorMessage);
}
}
return errors;
}