相关疑难解决方法(0)

从标准的其他列表中删除列表项

我有一份作家名单.

public class Writers{   
    long WriterID { get;set; }
}
Run Code Online (Sandbox Code Playgroud)

我还有两个类型文章列表.

public class Article{
    long ArticleID { get; set; }
    long WriterID { get; set; }
    //and others    
}
Run Code Online (Sandbox Code Playgroud)

所以我的代码是:

List<Article> ArticleList = GetList(1);
List<Article> AnotherArticleList = AnotherList(2);
List<Writers> listWriters = GetAllForbiddenWriters();
Run Code Online (Sandbox Code Playgroud)

我想删除这些记录从ArticleList,AnotherArticleList其中WriterID来自匹配listWriters WriterID.如何在LINQ中执行此操作?

.net c# linq list

49
推荐指数
3
解决办法
8万
查看次数

除了与Distinct有类似的效果?

我刚刚发现Except()将从第一个列表中删除第二个列表中的所有元素,但它也会使返回结果中的所有元素都不同.

我正在使用的简单方法是 Where(v => !secondList.Contains(v))

任何人都可以向我解释为什么这是行为,如果可能的话,请指出解释这个问题的文档?

c# linq

16
推荐指数
3
解决办法
4059
查看次数

从另一个IList <>中删除一个IList <>中的项目

很抱歉发布这样的基本问题,我是LINQ的新手,我正试图找出最好的方法来做到这一点IList.

我有2 ILists<>个自定义dto对象.我想从列表中删除另一个中的所有匹配项.

IList<ItemDTO> list1 = itemsbl.GetBestItems();
IList<ItemDTO> list2 = itemsbl.GetWorstItems();
Run Code Online (Sandbox Code Playgroud)

我需要删除所有项目list1list2.我一直在看这个Except()方法,但显然我需要我的ItemsDTO类来覆盖GetHashCodeEquals方法,但我无法找到一些这样的例子.

可能有人请告诉我删除的最佳方式list1list2

再次感谢

c# linq linq-to-entities

8
推荐指数
1
解决办法
7533
查看次数

关于比较List <T>的问题

我有两个清单:

List<comparerobj> list_c = new List<comparerobj>();
List<comparerobj> list_b = new List<comparerobj>();
Run Code Online (Sandbox Code Playgroud)

我正以某种方式填写清单

然后我试图在list_b中找到list_c不包含的元素:

foreach (comparerobj b in list_b)
{
    bool lc = !list_c.Contains(b);
    if (lc != true)
    {
        data.Add(b);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是对于任何b我都得到那个lc = true.我究竟做错了什么?

.net c#

3
推荐指数
2
解决办法
449
查看次数

How to Remove elements from one List based another list's element and condition?

How to remove list items from list1 which mats condition with list2 items using LINQ without duplicates

I know how to do it in simple foreach way but i want the same using Linq style single line code.

How to do it using Linq?

Input list

list1 = new List(){new object{id = 40},new object{id = 50},new object{id = 60}}
list2 = new List(){new object{id = 400},new object{id = 50},new object{id = 600}}
Run Code Online (Sandbox Code Playgroud)

Expected Output should from list1

new object{id …

c# linq c#-4.0

2
推荐指数
1
解决办法
3768
查看次数

如何从一个列表中删除另一个列表中的所有项目?

我正在从远程数据库读取一组行,从本地数据库读取类似的集合,然后使用RemoveAll删除本地已存在的远程行...

remote_events = (From a In remote.Events
                          Where ...etc...).ToList
local_events = (From a In local.Events
                            Where ...etc...).ToList
remote_events.RemoveAll(Function (ByVal event_row As Remote_Event)
    (From a In local_events Where a.Identifier = event_row.Identifier).Count > 0)
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎不对.当我真正需要做的是检查是否存在匹配时,我认为我不应该计算事物.我已经试过的各种用途IsDBNullIsNothing,但得到的废话.我不能使用.Except(这里建议)因为列表元素不是同一类型.

有没有更好的方法呢?

linq vb.net lambda

0
推荐指数
1
解决办法
3067
查看次数

Linq或Lambda - 从列表A中删除列表B中的所有项目

由于我是Linq或Lamdba的新手,我想知道Linq或Lambda中是否有一种方法可以根据另一个列表从列表中删除项目,如下例所示:

列表A = {A,B,C,D,E,F};

清单B = {C,A,E};

输出= B,D,F

c# linq lambda list

0
推荐指数
2
解决办法
373
查看次数

标签 统计

c# ×6

linq ×6

.net ×2

lambda ×2

list ×2

c#-4.0 ×1

linq-to-entities ×1

vb.net ×1