سؤال

I Want to obtain something like this:

' myKey: errorMessage '

Now i've a list with all the ModelState errors:

List<String> modelStateErrors2 = ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).Select(x => x.ErrorMessage).ToList();

But need to add the key in the begin of the string.

It is possible?

هل كانت مفيدة؟

المحلول

You need to move the Select() inside the SelectMany() so it can close over the key:

ModelState.Keys.SelectMany(key => this.ModelState[key].Errors.Select(x => key + ": " + x.ErrorMessage));

This would be simpler as a query comprehension:

from kvp in ModelState
from e in kvp.Value.Errors
select kvp.Key + ": " + e.ErrorMessage
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top