我如何检查它是否是我在C#中while loop
的第一次迭代?
while (myCondition)
{
if(first iteration)
{
//Do Somthin
}
//The rest of the codes
}
答案 0 :(得分:8)
bool firstIteration = true;
while (myCondition)
{
if(firstIteration )
{
//Do Somthin
firstIteration = false;
}
//The rest of the codes
}
答案 1 :(得分:2)
你可以将一些事情从循环中移开。如果" Do Somthin"只保证完全相同。不会更改myCondition
。 myCondition
测试是纯粹的,即没有副作用。
if (myCondition)
{
//Do Somthin
}
while (myCondition)
{
//The rest of the codes
}
答案 2 :(得分:1)
使用计数器:
int index = 0;
while(myCondition)
{
if(index == 0) {
// Do something
}
index++;
}
答案 3 :(得分:0)
这样的东西?
var first=true;
while (myCondition)
{
if(first)
{
//Do Somthin
}
//The rest of the codes
first=false
}
答案 4 :(得分:0)
定义一个布尔变量:
bool firstTime = true;
while (myCondition)
{
if(firstTime)
{
//Do Somthin
firstTime = false;
}
//The rest of the codes
}
答案 5 :(得分:0)
您可以通过变通办法来实现,例如:
boolean first = true;
while (condition)
{
if (first) {
//your stuff
first = false;
}
}
答案 6 :(得分:0)
尝试这样的事情:
bool firstIteration = true;
while (myCondition)
{
if(firstIteration)
{
//Do Something
firstIteration = false;
}
//The rest of the codes
}
答案 7 :(得分:0)
我建议使用计数器变量或for循环。
E.G。
int i = 0;
while (myCondition)
{
if(i == 0)
{
//Do Something
}
i++;
//The rest of the codes
}
答案 8 :(得分:0)
你可以在循环之外制作一个布尔
bool isFirst = true;
while (myCondition)
{
if(isFirst)
{
isFirst = false;
//Do Somthin
}
//The rest of the codes
}
答案 9 :(得分:-1)
仍然学习,但是这种方式来到了我身边,我自己没有使用过,但是我计划测试并可能在我的项目中实现:
int invCheck = 1;
if (invCheck > 0)
{
PathMainSouth(); //Link to somewhere
}
else
{
ContinueOtherPath(); //Link to a different path
}
static void PathMainSouth()
{
// do stuff here
}
static void ContinueOtherPath()
{
//do stuff
}