C# 使用Linq获取到另一个最近点的索引

C# 使用Linq获取到另一个最近点的索引,c#,linq,C#,Linq,我有一个Vector3对象数组(表示三维空间中的点),另一个Vector3对象表示光标位置。 我想得到最靠近我的光标的向量3数组中的索引 光标点与数组中某个点之间的距离如下所示 float Distance = (Points[0]-cursprpoint).magnitude; 我已经编写了一个函数来实现这一点,但它似乎有点问题。 我决定尝试使用Linq,因为我想学习如何使用它。虽然我不理解linq,但我希望如果有人发布一个如何做到这一点的例子,它将帮助我理解 float closest

我有一个Vector3对象数组(表示三维空间中的点),另一个Vector3对象表示光标位置。 我想得到最靠近我的光标的向量3数组中的索引

光标点与数组中某个点之间的距离如下所示

  float Distance = (Points[0]-cursprpoint).magnitude;
我已经编写了一个函数来实现这一点,但它似乎有点问题。 我决定尝试使用Linq,因为我想学习如何使用它。虽然我不理解linq,但我希望如果有人发布一个如何做到这一点的例子,它将帮助我理解

float closestDistance = Points.Min(p => p.DistanceTo(otherPoint));
var pointWithClosestDistance = Points.Where(p => p.DistanceTo(otherPoint) == closestDistance).FirstOrDefault();
var indexOfPoint = Points.IndexOf(pointWithClosestDistance);
DistanceTo
方法留给提问者作为练习

Points.Max(x=>(x-cursprpoint.magnity)
或者类似的东西?