我有一个Vector 3的列表,我想要做的是找到具有最高X值的Vector3,如果有多个具有最高XI的Vector3,则希望将Vector 3与最低的Y和最高的X.我希望该方法返回该Vector3的Z.这样做的最佳方式是什么?
抱歉,我对编码很新,我希望我已经很好地解释了我的问题。提前谢谢!
答案 0 :(得分:0)
您可以使用linq轻松完成:
if (vectors.Count == 0)
{
//Some appropriate action
}
else
{
return vectors.OrderyBy(v => v.X)
.ThenByDescending(v => v.Y)
.Last()
.Z
}
请注意您的问题已在指定范围内:
X
且最小Y
的向量,会发生什么?答案 1 :(得分:0)
找到了一个很好的方法:
Vector3[] arr;
Vector3 res = arr[0];
for (int i = 1; i < arr.length; i++){
if (arr[i].x > res.x || (arr[i].x == res.x && arr[i].y < res.y)){
res = arr[i];
}
}
return res.z;