簡體   English   中英

使用LINQ在C#中比較List

[英]Use LINQ to compare List in C#

我正在Rhino Grasshopper中編寫C#組件。 我想確定List constraints包含List nodes中的Point3d對象。 如果是這樣,則返回列表bnodes條目相對應的條目應為true ,否則為false 為了確定一個對象是否相同,使用比較公差tol

例如,讓nodes = {A, B, C, D, E, F}constraints = {a, f}是Point3d對象的列表。 由於Aa之間的距離以及Ff之間的距離等於或小於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM