當C#代碼看,我經常看到這樣的模式中:在items
在對象使用的foreach(...)語法,同時還增加一個索引變量循環
DataType[] items = GetSomeItems();
OtherDataType[] itemProps = new OtherDataType[items.Length];
int i = 0;
foreach (DataType item in items)
{
// Do some stuff with item, then finally
itemProps[i] = item.Prop;
i++;
}
for循環迭代,而且還保留一個計數器(i
)以便迭代itemProps
。我個人不喜歡這種額外的i
遊逛,而是可能會做這樣的事情:
DataType[] items = GetSomeItems();
OtherDataType[] itemProps = new OtherDataType[items.Length];
for (int i = 0; i < items.Length; i++)
{
// Do some stuff with items[i], then finally
itemProps[i] = items[i].Prop;
}
有可能還有一些benfit第一種方法,我不知道的?這是每個人都試圖使用那種奇特的foreach (...)
語法的結果嗎?我對你對此的看法感興趣。
尼斯 - 清潔仍然。 – DilbertDave 2008-11-12 13:56:43