设为首页
加入收藏
联系我们
首页 基础教程 技术文档 实例分析 数 据 库 疑难杂症 ASP.NET 七夕许愿树 技术论坛
最新文章
  .NET上传图片加文字…
 在vs.net bate…
 C#中利用正则表达式实现…
 Visual C#的SQ…
 关于使用存储过程创建分页
 通用分页显示查询存储过程
 大数据量的分页
 什么是web.confi…
 ASP.NET 配置文件…
 对“三层结构”的深入理解…
 多个关键字的查询问题
 VB和C# 语法对比图 …
 C#基础全接触
 用C#压缩和修复Acce…
 C#中的类型相等与恒等(…
推荐文章
 关于C#中的REF和黓认…
 读书笔记c#高级编程 委…
 【算法】C#快速排序类
 Visual C#的SQ…
 C#中调用API
 Infragistics…
 C#接口转换
 C#读取设备信息
 用.net操作word
 C# MessageBo…
 Visual C#中的数…
 雅虎公司C#笔试题,看看…
 C#.NET使用NHib…
 .net学习之运算符重载…
 Visual C# 3.…
热门文章
 ADO.Net与ADO在…
 开发ASP.NET下的M…
 用C#+XMI技术进行U…
 什么是虚拟机?
 C#基础全接触
 C#中利用正则表达式实现…
 雅虎公司C#笔试题,看看…
 用Visual C# 2…
 C#学习第一天
 C#语言初级入门(1)
 VB和C# 语法对比图 …
 远程重启计算机(C#)
 什么是B/S三层?
 Visual C#的SQ…
 Visual C#常用函…
C#学习第十四天
阅读正文 文字大小:增大 减小  文字行距:增大 减小   双击自动滚屏
本文由中国C#技术学习中心整理  如果你对本文有不明之处请到技术论坛讨论!

当使用foreach时,只要注意一个问题:当确定循环变量的类型时,应该格外小心.选择错误的类型并没有受到编译器的检测,但它会在运行时受检测,且会引发一个异常.
6.2.3 while 语句
当你想执行一个内含语句0次或更多次时,while语句正是你所盼望的:
while ( 条件 ) 内含语句?
条件语句——它也是一个布尔表达式 ——控制内含语句被执行的次数.你可以使用 break
   和continue语句来控制while语句中的执行语句,它的运行方式同在for语句中的完全相同.
为了举例while的用法,清单 6.6 说明如何使用一个 StreamReader类输出C#源文件到屏幕.
清单 6.6 显示一个文件的内容
1: using System;
2: using System.IO;
3:
4: class
WhileDemoApp
5:
{
    6:
    public static void Main( )
    7:
    {
        8: StreamReader
        sr = File.OpenText ( "whilesample.cs" );
        9: String strLine = null;
        10:
        11: while ( null != ( strLine = sr.ReadLine( ) ) )
        12:
        {
            13:
            Console.WriteLine( strLine );
            14:
        }
        15:
        16: sr.Close( );
        17:
    }
    18:
}
代码打开文件 whilesample.cs, 接着当ReadLine
   方法返回一个不等于null的值时,就在屏幕上显示所读取的值.注意,我在while条件语句中用到一个赋值.如果有更多的用&&和¦
¦
连接起来的条件语句,我不能保证它们是否会被执行,因为存在着“短路”的可能.
6.2.4 do 语句
C#最后可利用的循环语句是do语句.它与while语句十分相似,仅当经过最初的循环之后,条件才被验证.
do
{
    内含语句
}
while ( 条件 );
?
do语句保证内含语句至少被执行过一次,而且只要条件求值等于真,它们继续被执行.通过使用break语句,你可以迫使运行退出 do
   语块.如果你想跳过这一次循环,使用continue语句.
一个如何使用do语句的例子显示在清单 6.7中.它向用户请求一个或多个数字,并且当执行程序退出do循环后计算平均值.
清单 6.7 在do 循环中计算平均值
1: using System;
2:
3: class ComputeAverageApp
4:
{
    5:
    public static void Main( )
    6:
    {
        7: ComputeAverageApp theApp = new
        ComputeAverageApp( );
        8: theApp.Run( );
        9:
    }
    10:
    11:
    public void
    Run( )
    12:
    {
        13: double dValue = 0;
        14: double dSum = 0;
        15:
        int
        nNoOfValues = 0;
        16:
        char chContinue = 'y';
        17:
        string strInput;
        18:
        19: do
        20:
        {
            21: Console.Write( "Enter a value: " );
            22: strInput =    Console.ReadLine( );
            23: dValue = Double.Parse( strInput );
            24: dSum +=    dValue;
            25: nNoOfValues++;
            26: Console.Write( "Read another
            value?" );
            27:
            28: strInput = Console.ReadLine( );
            29: chContinue =    Char.FromString( strInput );
            30:
        }
        31: while ( 'y' == chContinue );
        32:
        33: Console.WriteLine( "The average is {0}",dSum / nNoOfValues );
        34:
    }
    35:
}
在这个例子里,我在静态 Main函数中实例化
ComputeAverageApp类型的一个对象.它同样接着调用实例的Run方法,该方法包含了计算平均值所有必要的功能.

do 循环跨越第19~31行.条件是这样设定的:分别回答各个问题 “y”,以决定是否要增加另一个值.输入任何其它字符会引起程序退出
do语块,且平均值被计算.
正如你可以从提到的例子看出,do语句和while语句差别不太大——仅有的差别就是条件在什么时候被求值.
6.3 小结
这章解释了如何使用C#中用到的各种选择和循环语句. if
   语句在应用程序中可能是最为常用的语句.当在布尔表达式中使用计算时,编译器会为你留意.但是,你一定要确保条件语句的短路不会阻止必要代码的运行.
switch
   语句——尽管同样与C语言的相应部分相似——但也被改善了.直达不再被支持,而且你可以使用字符串标签,对于C程序员,这是一种新的用法.
在这一章的最后部分,我说明如何使用for、foreach、while和do语句.语句完成各种需要,包括执行固定次数的循环、列举收集元素和执行基于某些条件的任意次数的语句.

本文由中国C#技术学习中心整理  如果你对本文有不明之处请到技术论坛讨论!

中国C#技术交流QQ群:6337034  10976424  9383681  35248582  35248645
版权所有:中国C#技术学习中心 Copyright © 20010-20012
建议浏览分辨率使用:1024*768分辨率
粤ICP备05002251号