gpt4 book ai didi

Linq 查询从行不同的两个列表中过滤

转载 作者:行者123 更新时间:2023-12-04 02:06:51 24 4
gpt4 key购买 nike

不确定如何制定此 Linq 查询。我有两个列表,每个列表都包含 HashCheck 对象:

class HashCheck
{
public string Id {get; set;}
public string Hash {get; set;}
}

所以,鉴于

List<HashCheck> list1;
List<HashCheck> list2;

我需要一个查询,该查询将产生一个列表,其中的行的 ID 匹配,但哈希不匹配。

举个例子

List1 =   
{1, 12345,
2, 34323,
3, 34083,
4, 09887}

List2 =
{1, 00001, << matching id, not matching hash
2, 34323,
3, 11112, << matching id, not matching hash
4, 09887
5, 98845}

ResultList =
{1, 00001,
3, 11112}

注意:在 List2 中,有一个额外的行,如果将其包含在 ResultList 中,那就太好了。但我知道如果需要的话如何在单独的查询中做到这一点。

感谢您的帮助。

最佳答案

试试这个代码:

     var list3 = (from i in list1
from j in list2
where i.Id == j.Id && i.Hash != j.Hash
select new HashCheck() { Id = j.Id, Hash = j.Hash
}).ToList<HashCheck>();

您可以使用加入。类似于下面的代码:

      var list3 = (from i in list1
join j in list2 on i.Id equals j.Id
where i.Hash != j.Hash
select new HashCheck() { Id = j.Id, Hash = j.Hash
}).ToList<HashCheck>();

关于Linq 查询从行不同的两个列表中过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50613477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com