gpt4 book ai didi

c# - 有没有标准的方法来编写不需要更新语句的 for 循环?

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:25 25 4
gpt4 key购买 nike

众所周知,大多数 for 循环采用以下形式:

for (int i = 0; i < whatever; i++)
{
//do stuff
}

我现在正在编写一种方法,在上面的格式中包含“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# 编写的,是的,但这适用于多种语言。

最佳答案

省略它:

for (int i = 0; i < whatever; )
{
//do stuff
}

事实上,for 循环的所有部分都是可选的(至少在 C# 中,这可能与所有类 C 语言不同)。下面创建一个无限循环:

for (;;)
{
//do stuff
}

当然,您也可以使用 while 循环来完成此操作,正如其他答案所建议的那样。这两种解决方案都非常有效,您选择哪一种主要是风格问题。一般来说,您应该选择您认为最能清楚地向读者传达代码试图做什么的解决方案。

关于c# - 有没有标准的方法来编写不需要更新语句的 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com