在查看 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 (...)
语法的结果吗?我对你对此的看法很感兴趣。