在查看C#代码时,我经常会看到这样的模式:
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循环迭代items
中的对象,同时保持计数器(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;
}
也许第一种方法有些好处是我不知道的吗?这是因为大家都试图使用那个花哨的 foreach (...)
语法吗?我对你们的看法很感兴趣。