找到最大值和Point3DCollection中的min

时间:2011-06-15 07:03:59

标签: c# wpf 3d

我注意到Point3DCollection有Max()和Min()。但是,没有示例来说明它们的使用方式。

假设我有这样的集合:

Point3DCollection list = new Point3DCollection();
            list.Add(new Point3D(1, 1, 8));
            list.Add(new Point3D(4, 5, 4));
            list.Add(new Point3D(2, 8, 9));

Max()和Min()应该为Point3DCollection返回什么?任何代码示例都显示了这两种方法的用法?

此代码:(outputText是一个文本框)

outputText.Text = list.Max().ToString(); 

只会产生错误而不是任何有意义的输出。

2 个答案:

答案 0 :(得分:1)

它可能返回最小和最大长度的点。这是sqrt(p1.x * p1.x + p1.y * p1.y + p1.z * p1.z)

答案 1 :(得分:1)

outputText.Text = list.Max(p=>p.X * p.X + p.Y*p.Y + p.Z * p.Z).ToString(); 

Max是一个linq扩展函数(不是Point3DCollections),对可比较的项目进行操作,Point3D无法比较,所以你可以使用类似上面的东西进行比较。