当前位置:  开发笔记 > 编程语言 > 正文

使用Linq在C#中列出操作

如何解决《使用Linq在C#中列出操作》经验,为你挑选了4个好方法。

莱比说的一切 - 加上:

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.



1> Marc Gravell..:

莱比说的一切 - 加上:

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.



2> Joel Meador..:

如果你想对多个元素进行更新......

foreach (var f in mylist.FindAll(x => x.id == 1))  
{    
    f.id = car3.id;  
    f.color = car3.color;  
    f.make = car3.make;  
}  



3> leppie..:

这不是LINQ2SQL.

此外,LINQ不用于更新,仅用于查询对象.



4> Funky81..:

你可以这样使用:

(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);
        }
    }
}

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有