C#学习第十四天

添加人:gamefriends二级(854分)   添加时间:2007-09-12    阅读次数:751  收藏此教程

6.2.3 while 语句

当你想执行一个内含语句0次或更多次时,while语句正是你所盼望的:

while (条件) 内含语句 

条件语句——它也是一个布尔表达式 ——控制内含语句被执行的次数。你可以使用 break 和continue语句来控制while语句中的执行语句,它的运行方式同在for语句中的完全相同。

为了举例while的用法,清单 6.6 说明如何使用一个 StreamReader类输出C#源文件到屏幕。

清单 6.6 显示一个文件的内容

 1using System;
 2using System.IO;
 3
 4class 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条件语句中用到一个赋值。如果有更多的用&&和¦&brVBar;连接起来的条件语句,我不能保证它们是否会被执行,因为存在着“短路”的可能。

6.2.4 do 语句

C#最后可利用的循环语句是do语句。它与while语句十分相似,仅当经过最初的循环之后,条件才被验证。

do
{
内含语句
}
while (条件); 

do语句保证内含语句至少被执行过一次,而且只要条件求值等于真,它们继续被执行。通过使用break语句,你可以迫使运行退出 do 语块。如果你想跳过这一次循环,使用continue语句。

一个如何使用do语句的例子显示在清单 6.7中。它向用户请求一个或多个数字,并且当执行程序退出do循环后计算平均值。

清单 6.7 在do 循环中计算平均值

 1using System;
 2
 3class 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}

36

在这个例子里,我在静态 Main函数中实例化 ComputeAverageApp类型的一个对象。它同样接着调用实例的Run方法,该方法包含了计算平均值所有必要的功能。

do 循环跨越第19~31行。条件是这样设定的:分别回答各个问题 “y”,以决定是否要增加另一个值。输入任何其它字符会引起程序退出 do语块,且平均值被计算。

正如你可以从提到的例子看出,do语句和while语句差别不太大——仅有的差别就是条件在什么时候被求值。

6.3 小结

这章解释了如何使用C#中用到的各种选择和循环语句。 if 语句在应用程序中可能是最为常用的语句。当在布尔表达式中使用计算时,编译器会为你留意。但是,你一定要确保条件语句的短路不会阻止必要代码的运行。
switch 语句——尽管同样与C语言的相应部分相似——但也被改善了。直达不再被支持,而且你可以使用字符串标签,对于C程序员,这是一种新的用法。

在这一章的最后部分,我说明如何使用for、foreach、while和do语句。语句完成各种需要,包括执行固定次数的循环、列举收集元素和执行基于某些条件的任意次数的语句。

1页 第1上一页1下一页
相关的教程: CSharp 入门
收藏此教程

当前平均分: 0.0(0 次打分)

-5-4-3-2-1012345
评论主题
您的大名
您的评论
验证码 点击换一个验证码
知识库搜索: