zoukankan      html  css  js  c++  java
  • (原创)c#学习笔记04--流程控制04--循环04--循环中断和无限循环

    4.4.4  循环的中断
      有时需要更精细地控制循环代码的处理。C#为此提供了4个命令,其中的3个已经在其他情形中介绍过了:
        break——立即终止循环。
        continue——立即终止当前的循环(继续执行下一次循环)。
        goto——可以跳出循环,到已标记好的位置上(如果希望代码易于阅读和理解,最好不要使用该命令)。
        return——跳出循环及其包含的函数(参见第6章)。
        break命令可退出循环,继续执行循环后面的第一行代码

      

    4.4.5  无限循环

      可以通过编写错误代码或错误的设计,定义永不终止的循环,即所谓的无限循环。例如,下面的代码:

    while (true) 
    { 
        // code in loop 
    } 

      时这种代码也是有用的,使用break语句或者手工使用Windows任务管理器总是可以退出这样的循环。但是,当这种情形偶尔出现时,就会出问题。考虑下面的循环,它与上一节的for 循环非常类似:

    int i = 1; 
    while (i <= 10) 
    { 
        if ((i % 2) == 0) 
            continue; 
        Console.WriteLine("{0}", i++); 
    } 

      i是在循环的最后一行代码执行完后才递增的,即在continue语句执行完后递增。但在执行到这个continue语句(此时i为2)时,程序会用相同的i值进行下一个循环,然后测试这个i值,继续循环,一直这样下去。这就冻结了应用程序。

  • 相关阅读:
    Linux文件系统之INode
    手写Netty之多路复用Select小案例
    多路复用器Select、Poll、Epoll区别梳理
    NAT模式、路由模式、桥接模式的区别
    Netty编解码器(理论部分)
    Netty之Unpooled_Bytebuf
    为什么 TCP 协议有粘包问题
    IDEA_2019.1版本中Protobuf的使用
    Netty服务端Server代码说明
    Netty之ChannelHandler
  • 原文地址:https://www.cnblogs.com/wodehao0808/p/4899174.html
Copyright © 2011-2022 走看看