У меня есть список полей, которые пользователь может сортировать с помощью jquery.Я сохраняю эти обновленные поля в базе данных.Эти же поля можно добавлять и удалять из отчета, поэтому в некоторых случаях у меня будет field1, field55, field 3
.Поля могут отображаться в случайном порядке (в зависимости от того, где он отображается в отчете).
Я пытаюсь отсортировать список, в котором в большинстве случаев поле будет иметь значение, но оно также может быть равно 0.
var list = Dictionary<string,int>(); //loaded from the client side, in-memory
У меня есть список, в котором я использую метод list.orderby(x=> x.Value);
Это позволит отсортировать поля в правильном порядке, однако я хочу получить оставшиеся поля, чей порядок = 0, и добавить в конец спискас наибольшим числом в списке.
например, самое большое число в списке - 78, у меня есть 4 поля, у которых Пропорция порядка = 0, эти поля должны быть 79,80,81,82 соответственно.
Нечто подобное может работать, но я получаю сообщение об ошибке изменения коллекции:
var max = list.Max(x => x.Value);
foreach (var item in list.Where(x => x.Value == 0))
{
list[item.Key] = ++max;
}