详解for循环各种用法Word格式.docx
《详解for循环各种用法Word格式.docx》由会员分享,可在线阅读,更多相关《详解for循环各种用法Word格式.docx(7页珍藏版)》请在冰点文库上搜索。
![详解for循环各种用法Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/63cc4a4a-6808-4724-a4d5-470f14484838/63cc4a4a-6808-4724-a4d5-470f144848381.gif)
i>
0;
i--)
{
}
但for当然不止这样一种用法。
for的定义,()内的三段表达式,除了中间的必须产生布尔型,并未对其余两段有所限制,只要是表达式就可以了。
在Lucene.Net中就有好几次这样的用法。
例如:
复制代码
for(Tokentoken=input.Next(result);
token!
=null;
token=input.Next(result))
intlen=token.TermText().Length;
if(len>
=min&
&
len<
=max)
returntoken;
这个语句和下面代码的效果是一样的:
Tokentoken;
while((token=input.Next(result))!
=null)
其实我认为在这两种循环中,第二种比第一种好理解一点。
还有这种
for(i=75;
i-->
0;
)
jjrounds[i]=0x80000000;
出了一个空表达式,呵呵。
其实理解一下也很简单,和下面代码的效果一样:
朋友留言指正,修正以上代码为:
for(i=74;
i>
i--){
又弄错了,接受批评。
应该换成下面的
=0;
i--)
空表达式,也是一个表达式啊,放在这里也不犯法。
嘿嘿,还有其他的表达式,比如:
length;
i++,pos++)
这个应该不难理解,第三个表达式有两个,第一个当然也可以有两个
比如for(inti=100,j=100;
i--,j++)
中间的表达式要想用两个就要加运算符了for(inti=100,j=100;
0||j>
0;
这样就总结出三种for循环样式
1、for(inti=0;
i<
i++)//递减和递加的算一种
2、for(;
true;
)//有空表达式的
3、for(inti=100,j=100;
i--,j++)//有多表达式的
好像就这么多了。
但是还有一种,我无法理解的表达式
for(;
;
)这是个死循环无限循环(没有跳出语句,才能成为死循环),汗!
!
庐山瀑布汗啊,反正我理解不了。
嘿嘿,理解上面的表达式,基本上看别人的代码就不会摸不着头脑了。
那是不是真的没有了呢?
来试试这种
复制代码
staticvoidMain(string[]args)
for(Act();
;
Console.Read();
staticvoidAct()
哈哈,真是彻底被打败了。
注意:
没见过有这么用的,纯粹是实验,应用产生的后果我不负责啊。
放上三个方法爽爽:
for(Act1();
Act2();
Act3())
staticvoidAct1()
staticboolAct2()
returntrue;
staticboolAct3()
当然,你非要用个委托,我也没意见:
delegatevoidBind();
classProgram
Bindb=newBind(Act1);
for(b();
我考事件也出来了:
staticeventBindbindEvent;
bindEvent+=newBind(Program_bindEvent);
bindEvent())
staticvoidProgram_bindEvent()
看出来了,只要是表达式,就能使用啊!
除了第二个表达式必须为空,或者布尔值外,其他两个基本没什么限制。
第二表达式为空则是死循环。
嘿嘿,无聊整出来的,欢迎大家拍砖!
知道其他用法的朋友分享一下。
THANKS!
!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考