对于每个drone[i]
,我有queue[i]
。C# - 如果所有比较都为真,则返回true
我的问题:怎么能作出这样的等待每个drone[i].actual_position == drone[i].desired_position
,而不是我当前的代码,只有等待,如果当前无人机drone[i]desired_position == drone[i].actual_position
所以不是这样的代码:
for (int i = 0; i < drones.Length; i++)
{
queue[i].Enqueue(drone[i].desired_position);
if (drone[i]desired_position == drone[i].actual_position)
{
queue[i].Dequeue();
queue[i].Enqueue(next_desired_position);
}
}
我想这样的事情:
for (int i = 0; i < drones.Length; i++)
{
queue[i].Enqueue(drone[i].desired_position);
//TODO: what should I put into "if"?
if (/* all drone[i]desired_position == drone[i].actual_position */)
{
queue[i].Dequeue();
queue[i].Enqueue(next_desired_position)
}
}
TLDR:我想确保每一个无人机是我在出列之前他想要的位置,然后去下一个位置,这样无人机就可以同步了。
你在寻找* Linq *吗? 'drone.All(d => d.desired_position == d.actual_position)' –
它可以。但我的代码的结构是正确的?它可以在for循环中吗? – xDDD
无人机采集是固定的还是在for循环中有更新? – Tinwor