在某些值处重置 for 循环中自己的索引的最有效方法
Most efficient way to reset own index in for loop at certain values
我需要这样做:
int boundary1 = 10;
int boundary2 = 30;
int boundary3 = 70;
int myIndex = 0;
for (i = 0; i < 100; i++) {
// do something with myIndex;
myIndex++;
// [reset myIndex to 0 at each boundary]
}
我之前做的是,循环i
到每个边界,手动重置myIndex
,然后手动重新开始从边界到边界的下一个循环。这是非常无效的。你会怎么做?
EDIT 好吧,好像有些没看懂:
在 for 循环中,我需要另一个索引,该索引将在某些点(此处称为边界)重置。
不完全确定你在找什么,你的问题很模棱两可,没有多大意义。据我所知,这就是你想要的:
int boundary1 = 10;
int boundary2 = 30;
int boundary3 = 70;
int myIndex = 0;
for (i = 0; i < 100; i++)
{
//do something with myIndex.
myIndex++;
if (i == boundary1 || i == boundary2 || i == boundary3)
{
myIndex = 0;
}
}
如果不是,请告诉我并更新您的 post 以提供更好的描述,然后我会相应地更新此答案。
我需要这样做:
int boundary1 = 10;
int boundary2 = 30;
int boundary3 = 70;
int myIndex = 0;
for (i = 0; i < 100; i++) {
// do something with myIndex;
myIndex++;
// [reset myIndex to 0 at each boundary]
}
我之前做的是,循环i
到每个边界,手动重置myIndex
,然后手动重新开始从边界到边界的下一个循环。这是非常无效的。你会怎么做?
EDIT 好吧,好像有些没看懂: 在 for 循环中,我需要另一个索引,该索引将在某些点(此处称为边界)重置。
不完全确定你在找什么,你的问题很模棱两可,没有多大意义。据我所知,这就是你想要的:
int boundary1 = 10;
int boundary2 = 30;
int boundary3 = 70;
int myIndex = 0;
for (i = 0; i < 100; i++)
{
//do something with myIndex.
myIndex++;
if (i == boundary1 || i == boundary2 || i == boundary3)
{
myIndex = 0;
}
}
如果不是,请告诉我并更新您的 post 以提供更好的描述,然后我会相应地更新此答案。