對於每個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