我有一個用戶可以使用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