我有一个'OrganisationUnit'类型的对象集合
Id Index
A 1
B 2
C 3
D 4
E 5
F 6
G 7
ID F 在 ID B
之前移动我将Id的F和B都作为额外的OrganisationUnit对象从另一层传递。
现在发生了什么:
ID F 获取 ID B 的索引。
ID B 以及ID 之后的所有必须将其索引增加1
结果应如下所示:
Id Index
A 1
F 2
B 3
C 4
D 5
E 6
G 7
如何将2个对象与集合合并(包含那些2个对象)并使用带有LINQ的索引属性进行更新?
答案 0 :(得分:1)
一点点Linq和一个简单的循环:
var f = units.First(u => u.ID == "F");
int newFIndex = 2;
var updateUnits = units
.Where(u => u.Index >= newFIndex && u.Index < f.Index)
.ToList();
foreach (OrganisationUnit u in updateUnits)
u.Index++;
f.Index = newFIndex;