代碼假設你通過3個元素這樣想循環:執行之間的循環迭代
for(int i=0; i<3; i++)
{
doSomething();
}
當然,這是相同的話說:doSomething(); doSomething(); doSomething();
。
現在,讓我們說你想要做的事每個迭代之間,如如果你是這樣的編碼: doSomething(); doBetween(); doSomething(); doBetween(); doSomething();
通知doSomething()
是如何被調用的3倍,但doBetween()
被稱爲2倍。
現在,我知道如何在一個循環做到這一點的唯一方法是:
for(int i=0; i<3; i++)
{
doSomething();
if(i<2)
doBetween();
}
對我來說,這似乎低效運行一個循環內的條件。它也使你必須看兩遍才能理解編程意圖。此外,如果您將「3」更改爲「for」標題中的其他內容,則可能很容易忘記更改條件,特別是隨着邏輯的增長。不僅如此,這個技巧在foreach循環中不起作用,因爲沒有簡單的方法來檢測我們是否正在運行最後一次迭代。
你有什麼祕訣可以讓你獲得更好的性能,更好的可讀性,更好的可維護性或者在foreach循環中嗎?
這讓我想知道是否有任何編程語言有明確的語法來在這樣的循環迭代之間運行代碼塊。我認爲用類似C的語言,它可能類似於{...}之間的(for)(whatever){...} 當然,for也可以是while或foreach '。 (並且會出現一個懸而未決的問題,就像懸掛的其他問題一樣) – Stewart