首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> C# >> 正文

展现C#世界之六:控制语句

  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语句。语句完成各种需要,包括执行固定次数的循环、列举收集元素和执行基于某些条件的任意次数的语句。

上一页  [1] [2] [3] [4] [5] 

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航