我碰到這個代碼For循環無條件
var i=Array.ConvertAll(Console.ReadLine().Split(),int.Parse);
for(int x=i[0]-i[2],y=i[1]-i[3];;Console.WriteLine((0!=y?0<y--?"S":"N":"")+(0!=x?0<x--?"E":"W":"")));
我想我明白int x=i[0]-i[2],y=i[1]-i[3]
但讓我困惑的是,有沒有結束條件的一部分。所以我的問題是,這個循環如何終止?
我看到了這個答案,它討論了一個無限循環。
但是,我都是爲了減少變量混亂,這是非常鈍的代碼。 –
循環聲明的所有3個部分(初始值,條件,迭代器)都是可選的。這意味着'for(;;)'與'while(true)'同義。 – spender
這是一個無限循環。正如下面的答案所述,所有三個部分都是可選的。 @lrb看起來像是從一些扭曲的C++書籍中複製的「讀取此代碼」任務(類似的構造可以在C++中是優雅的,雖然是imho) –