j9国际站|(官网)点击登录

新疆j9九游会

本站首页 j9九游会 乐成案例 公司新闻 公司简介 客服中心 软件技能 网站建立
  您如今的地位: 新疆二域j9九游会公司 >> 开辟言语 >> 文章注释

种种FOR循环布局的整理

   在网上看到这篇关于for循环文章,介绍给各人看看:
for循环的一样平常布局:

for (int i = 0; i < 100; i++)
{
    Console.WriteLine(i);
}
 

递加的循环:

 

            for (int i = 100; i > 0 ; i--)
            {
                Console.WriteLine(i);
            }
 
但for固然不止如许一种用法。for的界说,()内的三段表达式,除了两头的必需发生布尔型,并未对其他两段有所限定,只需是表达式就可以了。在Lucene.Net中就有好频频如许的用法。比方:

 

for (Token token = input.Next(result); token != null; token = input.Next(result))
{
     int len = token.TermText().Length;
     if (len >= min && len <= max)
     {
         return token;
     }
}
 
这个语句和上面代码的结果是一样的:


           Token token;
            while((token = input.Next(result)) != null)
            {
                int len = token.TermText().Length;
                if (len >= min && len <= max)
                {
                    return token;
                }
            }
 
实在我以为在这两种循环中,第二种比第一种好了解一点。

另有这种

for (i = 75; i-- > 0; )
    jjrounds[i] = 0x80000000;
 

出了一个空表达式,呵呵。实在了解一下也很复杂,和上面代码的结果一样:


for (i = 75; i > 0; i--)
    jjrounds[i] = 0x80000000;
 

空表达式,也是一个表达式啊,放在这里也不触犯法律。
 

嘿嘿,另有其他的表达式,好比:

 

for (int i = 0; i < length; i++, pos++)
 

这个应该不难了解,第三个表达式有两个,第一个固然也可以有两个

 

好比            for (int i = 100, j = 100; i > 0 ; i--,j++)

两头的表达式要想用两个就要加运算符了for (int i = 100, j = 100; i > 0 || j>0 ; i--,j++)

 如许就总结出三种for循环款式

1、for(int i = 0;i < 100;i++)  //递加和递减的算一种

2、for(;true;)     //有空表达式的

3、for (int i = 100, j = 100; i > 0 || j>0 ; i--,j++)   //有多表达式的

 

仿佛就这么多了。但另有一种,我无法了解的表达式

for(;;)这是个去世循环,汗!!!庐山瀑布汗啊,横竖我了解不了。

 嘿嘿,了解下面的表达式,根本上看他人的代码就不会摸不着头脑了。那是不是真的没有了呢?

来尝尝这种

         static void Main(string[] args)
        {
            for (Act(); ; )
            {

            }
            Console.Read();
        }

        static void Act()
        {


        }
 

哈哈,真是彻底被打败了。留意:没见过有这么用的,地道是实行,使用发生的结果我不卖力啊。

放上三个办法爽爽:

 

        static void Main(string[] args)
        {
            for (Act1(); Act2(); Act3())
            {

            }
            Console.Read();
        }

        static void Act1()
        {

        }

        static bool Act2()
        {
            return true;
        }

        static bool Act3()
        {
            return true;
        }
 

固然,你非要用个委托,我也没意见:


    delegate void Bind();
    class Program
    {
        static void Main(string[] args)
        {
            Bind b = new Bind(Act1);
            for (b(); Act2(); Act3())
            {

            }
            Console.Read();
        }

        static void Act1()
        {

        }

        static bool Act2()
        {
            return true;
        }

        static bool Act3()
        {
            return true;
        }
    }
 
    delegate void Bind();
    class Program
    {
        static event Bind bindEvent;

        static void Main(string[] args)
        {
            Bind b = new Bind(Act1);
            bindEvent += new Bind(Program_bindEvent);
            for (b(); Act2(); bindEvent())
            {

            }
            Console.Read();
        }

        static void Program_bindEvent()
        {
          
        }

        static void Act1()
        {

        }

        static bool Act2()
        {
            return true;
        }

        static bool Act3()
        {
            return true;
        }
    }
 
    看出来了,只需是表达式,就能利用啊!除了第二个表达式必需为空,大概布尔值外,其他两个根本没什么限定。第二表达式为空则是去世循环。

作者:未知 | 文章泉源:未知 | 更新>###45

  • 上一篇文章:

  • 下一篇文章:

  • 相干文章:
    没有相干文章
    软件技能
    · 开辟言语
    · Java技能
    · .Net技能
    · 数据库开辟
    最新文章  
    ·搜集整理的asp.net的验证方
    ·种种FOR循环布局的整理
    ·软件项目开辟中应该思索那
    ·搜集整理的javascript sel
    ·j9九游会中项目司理有那些
    ·学习怎样在Lambda表达式进
    ·C++底子知识:布局体数据的
    ·C#完成短信发送步伐的例子
    ·sun近来修补了一局部java的
    ·rss定制的别的一种完成方法
    ·delphi完成使用arp诈骗来实
    ·底子学习:基于WF的流程框
    ·网络编程中怎样得知一次数
    ·怎样逆序输入单链表?
    ·j9九游会历程中的功能设计
    关于j9九游会 | j9九游会 | 下载试用 | 客服中心 | 联系j9九游会 | 相关单位 | 网站舆图 | 新疆电子舆图 | RSS订阅
    版权一切 © 2016 新疆二域j9九游会网 www.k8w.net All Rights Reserved
    新疆j9九游会>###、4811639.
    ### ;>###华联大厦A-5C 邮编:830000