莱比说的一切 - 加上:
int index = mylist.FindIndex(p => p.id == 1); if(index<0) { mylist.Add(car3); } else { mylist[index] = car3; }
这只是使用现有的FindIndex来定位id为1的汽车,然后替换或添加它.没有LINQ; 没有SQL - 只是一个lambda和List
.
莱比说的一切 - 加上:
int index = mylist.FindIndex(p => p.id == 1); if(index<0) { mylist.Add(car3); } else { mylist[index] = car3; }
这只是使用现有的FindIndex来定位id为1的汽车,然后替换或添加它.没有LINQ; 没有SQL - 只是一个lambda和List
.
如果你想对多个元素进行更新......
foreach (var f in mylist.FindAll(x => x.id == 1)) { f.id = car3.id; f.color = car3.color; f.make = car3.make; }
这不是LINQ2SQL.
此外,LINQ不用于更新,仅用于查询对象.
你可以这样使用:
(from car in mylist where car.id == 1 select car).Update( car => car.id = 3);
我的参考是这个网站.或者以下是Update方法的代码
public static void Update(this IEnumerable source, params Action [] updates) { if (source == null) throw new ArgumentNullException("source"); if (updates == null) throw new ArgumentNullException("updates"); foreach (T item in source) { foreach (Action update in updates) { update(item); } } }