Unity3d c#在Vector3 (xyz)列表中找到x的最大值
本文关键字:最大值 列表 Vector3 xyz Unity3d | 更新日期: 2023-09-27 18:06:05
我如何在Vector3(包含xyz)列表中检索x的最大值?谢谢你!
你可以使用LINQ:
找到x最大的向量float xMax = vectors.Max(v => v.x);
Vector3 result = vectors.First(v => v.x == xMax);
这要求:
using System.Linq;
或者,由于上面的方法在源集合上迭代两次,您可以添加自己的IEnumerable<T>
扩展来满足您的需要。
有一个叫做MoreLinq的库,它已经有了一些我想要的东西:MaxBy扩展。
这将使解决方案成为一个简单的一行代码(对源代码进行一次迭代):
Vector3 result = vectors.MaxBy(v => v.x);
应该可以了。
var vectors = new List<Vector3>();
/* add data to list */
// Select biggest X.
var maxX = vectors.Max(v => v.x);
LINQ语句Max(v => v.x)
求Vector3列表中所有X的值,并返回它找到的最大值