【发布时间】:2014-04-18 22:14:35
【问题描述】:
众所周知,大多数 for 循环都采用这种形式:
for (int i = 0; i < whatever; i++)
{
//do stuff
}
我正在编写一个方法,此时不适合以上述格式包含“i++”,因为 i 正在嵌套在此循环中的循环中进行更新。所以现在,我有这个:
List<Item> itemList = new List<Item>();
PopulateListOfItems(itemList);
List<List<Item>> itemSubListList = new List<List<Item>>();
for (int i = 0; i < itemList.Count; //i doesn't need updating here)
{
List<Item> subList = new List<Item>();
for (int j = 0; j < subListSize && i < itemList.Count; j++)
{
subList.Add(itemList[i++]);
}
itemSubListList.Add(subList;
}
是否有编写这样一个循环的标准方法,可能包括某种虚拟代码,i++ 通常会在其中明确不需要更新?也许像......
for (int i = 0; i < whatever; true)
{
//do stuff
}
...或者我刚刚结束了漫长的一周,我的大脑太煎熬而没有意识到我真的应该使用 while 循环或其他什么?
顺便说一句,我是用 C# 编写的,是的,但这可以适用于多种语言。
【问题讨论】:
-
你可以省略它,但是你只是写了一个while循环。