Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Point3DCollection按最小或最大坐标选择点_C#_Linq_3d_Coordinates_Point - Fatal编程技术网

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

C#Point3DCollection按最小或最大坐标选择点,c#,linq,3d,coordinates,point,C#,Linq,3d,Coordinates,Point,我收集了数百个点,比如 点3D(2,5,8), 点3D(8,6,9), 点3D(5,8,12)。。。 我需要得到X的最小值和最大值的坐标。我知道如何找到最小值(使用LINQ Min),但我不知道如何找到最小值并得到Y和Z。 您能帮助我吗?假设您的Point3DCollection是Point3D类对象的列表。您的Point3D类如下所示 public class Point3D { public int X; public int Y; public int Z; public

我收集了数百个点,比如 点3D(2,5,8), 点3D(8,6,9), 点3D(5,8,12)。。。 我需要得到X的最小值和最大值的坐标。我知道如何找到最小值(使用LINQ Min),但我不知道如何找到最小值并得到Y和Z。
您能帮助我吗?

假设您的
Point3DCollection
Point3D
类对象的列表。您的
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
的空值


假设您的
Point3DCollection
Point3D
类对象的列表。您的
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
的空值


您可以使用
X
上的
OrderBy
X
的集合进行从低到高的排序。现在,First应该给出最小值,Last应该给出最大值。使用这种方法,您还可以选择top(2或3或…)和Last(2或3.或…)。您可以使用
X
上的
OrderBy
X
的集合进行从低到高的排序。现在,First应该给出最小值,Last应该给出最大值。使用这种方法,您还可以选择top(2或3或…)和Last(2或3或…)。