我有一个用户可以使用jQuery进行排序的字段列表。我将这些更新的字段保存在数据库中。报告中可以添加和删除相同的字段,因此在某些情况下,我将有field1, field55, field 3
。这些字段可以以随机顺序出现(取决于它在报告中的显示位置)。c#根据编号排序列表
我想排序列表,在大多数情况下,该领域将有一个价值,但它也可以是0
var list = Dictionary<string,int>(); //loaded from the client side, in-memory
我有,我使用的方法list.orderby(x=> x.Value);
这将在排序字段列表正确的顺序,但是我想得到剩下的字段whos order = 0,并追加到列表的最后最大列表中的数字。
例如列表中最高的数字是78,我有4个字段的道具Order = 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;
}
我假设你正在从数据库中获取列表项目,难道不会更好吗?他们在SQL? – bakoyaro
内存查询,数据库调用事后,我只想要匹配用户选择的ID的数据库ID,否则我将有一个*大量*查询回来......我只是在进行排序,而我正在访问这个名单。 – Haroon