0

我正在 Rhino Grasshopper 中编写一个 C# 组件。我想确定 List 是否constraints包含 List 中的 Point3d 对象nodes。如果是,则返回列表中b与 entry in 对应的条目nodes应该是true,否则false。为了确定一个对象是否相同,使用了比较容差tol

例如,让nodes = {A, B, C, D, E, F}constraints = {a, f}成为 Point3d 对象的列表。A由于和a、 和F之间的距离f等于或小于tol

A.DistanceTo(a) <= tol  // True

我们将得到b = {true, false, false, false, true}回报。

我想我可以找到b以某种方式使用 LINQ。

4

2 回答 2

5

看来您需要 LINQ Select

var result = nodes.Select(n => constraints.Any(c => n.DistanceTo(c) <= tol));
于 2013-06-18T07:47:42.617 回答
1

你的意思是这样的:

var b = from node in nodes
        let bs = constraints.Any(t => node.DistanceTo(t) <= tol)
        select bs;
于 2013-06-18T07:50:48.453 回答