gpt4 book ai didi

c# - Linq 加入不等于

转载 作者:太空狗 更新时间:2023-10-29 17:36:02 25 4
gpt4 key购买 nike

我有一个矩形列表和一个点​​列表。我想构建一个 LINQ 查询,它将点列表与其对应的矩形相匹配。像这样:

// Does not compile
var matches = from rect in rectangles
join point in points on rect.Contains(point)
select new { rect, point };

如何使用 LINQ 完成这样的事情?

编辑:

我的列表大小相等 - 我有一个点与一个矩形匹配,并且矩形不重叠。

但是,问题的重点并不是要解决这个具体问题。一般来说,除了简单的“等于”之外,我对如何在任何条件下加入两个列表很感兴趣。

最佳答案

您可以使用多个 from 子句来实现连接

 var matches = from p in points
from r in rectangles
where r.Contains(p)
select new { r, p };

多个 from 子句比连接语法 (see myth 5 of 10 LINQ myths) 更灵活。您只需要学习这一个,所有的连接都会很容易。

关于c# - Linq 加入不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10455271/

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