var keyValuePairList = model.someDictionary.ToList();
keyValuePairList .OrderBy(r => r.Value);
The problem is sorting by alphanumeric values are not correct.
Output: CR1 CR10 CR11 CR2 CR20
Expected: CR1 CR2 CR10 CR11 CR20
var keyValuePairList = model.someDictionary.ToList();
keyValuePairList .OrderBy(r => r.Value);
The problem is sorting by alphanumeric values are not correct.
Output: CR1 CR10 CR11 CR2 CR20
Expected: CR1 CR2 CR10 CR11 CR20
If every string starts with two alphabetical characters, I would use the following:
keyValuePairList.OrderBy(r => int.Parse(r.Value.Substring(2)));
Otherwise, use a regular expression, as detailed in this answer.
var re = new Regex(@"\d+$");
keyValuePairList.OrderBy(x => int.Parse(re.Match(x.Value).Value));