Вопрос

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