C#Point3DCollection按最小或最大坐标选择点

时间:2018-06-18 09:50:42

标签: c# linq 3d coordinates point

我有数百个点的Point3DCollection Point3D(2,5,8), Point3D(8,6,9), Point3D(5,8,12)...... 我需要获得具有最低和最高X的坐标。我知道如何找到最低值(使用LINQ Min),但我不知道,如何找到最低值并得到它的Y和Z. 你能帮我吗?

1 个答案:

答案 0 :(得分:2)

假设您的Point3DCollectionPoint3D班级对象的列表。你的Point3D课程就像这样。

public class Point3D
{
  public int X;
  public int Y;
  public int Z;

  public Point3D(int x, int y, int z)
  {
    X = x;
    Y = y;
    Z = z;
  }
}

您想要的Linq

表示最低X

Point3D p = Point3DCollection.OrderBy(x => x.X).FirstOrDefault();

为最高x

if(Point3DCollection.Count > 0)
   Point3D p = Point3DCollection.OrderBy(x => x.X).Last();

你应该首先检查一下Point3DCollection的空虚情况。

here is working sample