我有一个矩形列表和一个点列表.我想构建一个LINQ查询,它将匹配点列表及其对应的矩形.像这样的东西:
// Does not compile
var matches = from rect in rectangles
join point in points on rect.Contains(point)
select new { rect, point };
Run Code Online (Sandbox Code Playgroud)
如何使用LINQ实现这样的功能?
编辑:
我的列表大小相同 - 我有一个点与一个矩形匹配,矩形不重叠.
然而,问题的关键不在于解决这个具体问题.一般来说,我感兴趣的是如何在除了'equals'之外的任何条件下加入两个列表.
Alo*_*aus 14
您可以使用多个from子句来实现连接
var matches = from p in points
from r in rectangles
where r.Contains(p)
select new { r, p };
Run Code Online (Sandbox Code Playgroud)
多个from子句比join语法更灵活(参见神话中的5个LINQ神话).你只需要学习这一个,所有的连接都很容易.
| 归档时间: |
|
| 查看次数: |
6840 次 |
| 最近记录: |