我有一个线列表,一条线由一组 LatLngs(纬度/经度)组成,因此,这就是列表的表示方式。
IEnumerable<LatLng[]> lineNetwork;
我正在尝试计算返回 lineNetwork
中连接到 givenLine
的所有行所需的 LINQ 表达式。要连接它们,它们的纬度和经度必须等于 givenLine
中的纬度和经度。
LatLng[] givenLine =
{
new LatLng(Latitude: 0.1, Longitude: 0.1),
new LatLng(Latitude: 0.2, Longitude: 0.2),
new LatLng(Latitude: 0.3, Longitude: 0.3)
}
IEnumerable<LatLng[]> connectedLines = lineNetwork.LINQEXPRESSIONRETURNSCONNECTEDLINES(givenLine);
最佳答案
您可能应该为 LatLng 类型定义相等性,我假设它是一个结构。
你的查询会是这样的
var connectedLines = lineNetwork.Where( line => line.Any( coord => givenLine.Contains( coord ) ) );
在这里,我假设给定正确的相等性实现 Contains()
将返回 true。
关于c# - 用于比较嵌套数组的 LINQ 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50445199/