私はベクトル3のリストを持っています。最も高いX値を持つVector3があれば、最も高いX値を持つVector3を見つけることです。最も低いYと最も高いXを返します。このメソッドは、Vector3のZを返します。これを行う最善の方法は何ですか?特定の値によるVector3のリストの並べ替え
申し訳ありませんが、私は非常にコーディングに新しいです、私は私の問題を十分に説明したことを願っています。前もって感謝します!
私はベクトル3のリストを持っています。最も高いX値を持つVector3があれば、最も高いX値を持つVector3を見つけることです。最も低いYと最も高いXを返します。このメソッドは、Vector3のZを返します。これを行う最善の方法は何ですか?特定の値によるVector3のリストの並べ替え
申し訳ありませんが、私は非常にコーディングに新しいです、私は私の問題を十分に説明したことを願っています。前もって感謝します!
あなたは、LINQで簡単にそれを行うことができます。リストが空の場合はどうなり
if (vectors.Count == 0)
{
//Some appropriate action
}
else
{
return vectors.OrderyBy(v => v.X)
.ThenByDescending(v => v.Y)
.Last()
.Z
}
あなたの問題は、指定の下にあることに注意してくださいますか?
X
と最小Y
のベクトルが複数存在するとどうなりますか?それを行うには良い方法を見つけたそれはリストのために不可能です私はそれを手動で定義しているので、空にする必要があります。また、私の場合、2つの同一のy値があることは不可能です。 – Max
:この `vector.OrderBy(V => VX).ToArray
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;
何か、私の場合は' – styx