[英]Use LINQ to compare List in C#
我正在Rhino Grasshopper中編寫C#組件。 我想確定List constraints
包含List nodes
中的Point3d對象。 如果是這樣,則返回列表b
與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}
作為回報。
我想我可以以某種方式使用LINQ找到b
。
似乎您需要LINQ Select
:
var result = nodes.Select(n => constraints.Any(c => n.DistanceTo(c) <= tol));
您的意思是這樣的嗎:
var b = from node in nodes
let bs = constraints.Any(t => node.DistanceTo(t) <= tol)
select bs;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.