C# 如果是x,则运行一次,如果不是x,则运行两次
这是我当前的代码:C# 如果是x,则运行一次,如果不是x,则运行两次,c#,loops,int,logic,C#,Loops,Int,Logic,这是我当前的代码: int max; if(runOnce) max = 1; else max = 2; for(i=0;i<max;i++) //do stuff intmax; 如果(跳动) max=1; 其他的 max=2; 对于(i=0;i试试这个: int max = (runOnce==true) ? 1 : 2; for(i=0; i<max; i++) 如果条件为真,则使用第一个表达式。否则使用第二个表达式 有关更多文档,请参阅 最后但
int max;
if(runOnce)
max = 1;
else
max = 2;
for(i=0;i<max;i++)
//do stuff
intmax;
如果(跳动)
max=1;
其他的
max=2;
对于(i=0;i试试这个:
int max = (runOnce==true) ? 1 : 2;
for(i=0; i<max; i++)
如果条件
为真,则使用第一个表达式
。否则使用第二个表达式
有关更多文档,请参阅
最后但并非最不重要的是,正如斯利拉姆在评论中指出的,我们也可以使用
int max = runOnce ? 1 : 2;
试试这个:
int max = (runOnce==true) ? 1 : 2;
for(i=0; i<max; i++)
如果条件
为真,则使用第一个表达式
。否则使用第二个表达式
有关更多文档,请参阅
最后但并非最不重要的是,正如斯利拉姆在评论中指出的,我们也可以使用
int max = runOnce ? 1 : 2;
有时需要知道的一件事是,布尔值true
,当转换为整数时,其值始终为1
。因此,这应该是可行的:
for( int i = (int)runOnce; i < 2; ++i )
for(int i=(int)runOnce;i<2;++i)
如果runOnce
为false,则计数(0,1),如果为true,则跳过0,仅在i=1时运行。有时需要知道的一件事是,布尔值true
在转换为整数时,始终具有1
的值。因此,这应该是可行的:
for( int i = (int)runOnce; i < 2; ++i )
for(int i=(int)runOnce;i<2;++i)
如果runOnce
为false,则计数(0,1),如果为true,则跳过0,仅在i=1时运行。如果您希望摆脱for
-循环,一个简单的解决方案是将“do stuff”逻辑封装在一个方法中:
private void DoStuff()
{
// do stuff
}
Action doStuff = () =>
{
// do stuff
};
doStuff();
if (!runOnce)
{
doStuff();
}
然后,当你想打电话给它时,就这样做:
DoStuff();
if (!runOnce)
{
DoStuff();
}
可选地,如果需要访问多个局部变量,您可能需要考虑使用A代替方法:
private void DoStuff()
{
// do stuff
}
Action doStuff = () =>
{
// do stuff
};
doStuff();
if (!runOnce)
{
doStuff();
}
如果您希望摆脱for
-循环,一个简单的解决方案是将您的“do stuff”逻辑封装在一个方法中:
private void DoStuff()
{
// do stuff
}
Action doStuff = () =>
{
// do stuff
};
doStuff();
if (!runOnce)
{
doStuff();
}
然后,当你想打电话给它时,就这样做:
DoStuff();
if (!runOnce)
{
DoStuff();
}
可选地,如果需要访问多个局部变量,您可能需要考虑使用A代替方法:
private void DoStuff()
{
// do stuff
}
Action doStuff = () =>
{
// do stuff
};
doStuff();
if (!runOnce)
{
doStuff();
}
这个怎么样:
for(int i=0;i<(runOnce?1:2);i++)
这个怎么样:
for(int i=0;i<(runOnce?1:2);i++)
为什么看起来很乱?对我来说很好。你可以减少int max=runance?1:2;
为什么看起来很乱?对我来说很好。你可以减少int max=runance?1:2;
int max=runance?1:2
就足够了:)@SriramSakthivel当然可以。但我想让以前没有使用过它的用户更具可读性。我会更新我的帖子。谢谢大家!<代码>整数最大值=跳动?1:2已经足够了:)@SriramSakthivel当然可以。但我想让以前没有使用过它的用户更具可读性。我会更新我的帖子。非常感谢。是的,在我看来这是最好的方法。如果只运行一次,您就可以摆脱神奇的数字和整个for
循环。就我个人而言,我也会改变!runOnce
到运行两次
以避免出现负面情况,但这只是我的想法,在我看来,这是最好的方法。如果只运行一次,您就可以摆脱神奇的数字和整个for
循环。就我个人而言,我也会改变!runOnce
到运行两次
以避免出现负面情况,但这只是我的问题。编译的东西如何。@pierre lucpinoult它编译得很好。尝试用C++编译器。但是,我没有将三元运算符括在括号内。。更正了,现在好多了。在发布代码之前,一定要先尝试一下。顺便说一下,这是C,而不是C++。编译的东西怎么样?@彼埃尔LuppiNoUT编译好。尝试用C++编译器。但是,我没有将三元运算符括在括号内。。更正了,现在好多了。在发布代码之前,一定要先尝试一下。顺便说一下,这是C,不是C++。