我想要按照距离的升序循环列表中的每个项目(因此最先使用的是最近的目标)。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