我想要按照距離的升序循環列表中的每個項目(因此最先使用的是最近的目標)。LINQ - 按距離排序(計算值)
foreach (ShipCompartment enemyComp in enemy.ListOfCompartments.OrderBy(...))
問題是距離不是類的成員。因此,我不能使用:
foreach (ShipCompartment enemyComp in enemy.ListOfCompartments
.OrderBy(c => c.Distance))
用於計算距離的代碼是:
// Get distance between player and enemy compartments
float distanceToTarget = Vector2.Distance(playerComp.Position,
enemyComp.Position);
如何可以將計算到的OrderBy()?我查過here,但它只返回最接近的Vector2。
非常感謝您的協助。
你試過像'的foreach(ShipCompartment enemyComp在enemy.ListOfCompartments.OrderBy(C => Vector2.Distance(playerComp.Position,c.Position)))'? –
@Rowland完美!這麼簡單,但我從來沒有想過它!請把它寫成答案,我會接受它。感謝大家的幫助。 – user3256944