C# 7.0 核心技术指南 (51):C#语言基础 2.11.4

阅读数:7 2019 年 12 月 4 日 17:14

C# 7.0核心技术指南(51):C#语言基础 2.11.4

(迭代语句)

内容简介
本书前三章将集中介绍 C#语言。首先介绍基本的语法、类型和变量。而后会介绍一些高级的特性,如不安全代码以及预处理指令。如果你是 C#语言的初学者,请循序渐进地阅读这些章节。
其余各章则涵盖了.NET Framework 的核心功能,包括 LINQ、XML、集合、并发、I/O 和网络、内存管理、反射、动态编程、特性、安全、应用程序域和原生互操作性等主题。第 6 章和第 7 章是后续主题的基础,除这两章之外,其余各章可以按照需要以任何顺序阅读。LINQ 相关的三个章节好按顺序阅读。其中的一些章节需要一些并发相关的知识,这些知识将在第 14 章中介绍。

C#中可以使用 while、do-while、for 和 foreach 语句重复执行一系列语句。

2.11.4.1 while 和 do-while 循环

while 循环在其 bool 表达式为 true 的情况下重复执行循环体中的代码。这个表达式在循环体执行之前进行检测。例如:

复制代码
int i = 0;
while (i < 3)
{
Console.WriteLine (i);
i++;
}
OUTPUT:
0
1
2

do-while 循环在功能上不同于 while 循环的地方是它在语句块执行之后才检查表达式的值(保证语句块至少执行过一次)。以下将上述例子用 do-while 循环重新书写了一遍:

复制代码
int i = 0;
do
{
Console.WriteLine (i);
i++;
}
while (i < 3);

2.11.4.2 for 循环

for 循环就像一个有特殊子句的 while 循环。这些特殊子句用于初始化和迭代循环变量。for 循环有以下三个子句:

复制代码
for (initialization-clause; condition-clause; iteration-clause)
statement-or-statement-block
  • 初始化子句:在循环之前执行,初始化一个或多个迭代变量。
  • 条件子句:它是一个 bool 表达式,当其为 true 时,将执行循环体。
  • 迭代子句:在每次语句块迭代之后执行,通常用于更新迭代变量。

例如,下面的例子将打印 0 到 2 的数字:

复制代码
for (int i = 0; i < 3; i++)
Console.WriteLine (i);

下面的代码将打印前 10 个斐波那契数(每一个数都是前面两个数的和):

复制代码
for (int i = 0, prevFib = 1, curFib = 1; i < 10; i++)
{
Console.WriteLine (prevFib);
int newFib = prevFib + curFib;
prevFib = curFib; curFib = newFib;
}

for 语句的这三个部分都可以省略,因而可以通过下面的代码来实现无限循环(也可以用 while (true) 来代替):

复制代码
for (;;)
Console.WriteLine ("interrupt me");

2.11.4.3 foreach 循环

foreach 语句遍历可枚举对象的每一个元素。大多数 C#和.NET Framework 中表示集合或元素列表的类型都是可枚举的。例如,数组和字符串都是可枚举的。以下示例从头到尾枚举了字符串中的每一个字符:

复制代码
foreach (char c in "beer") // c is the iteration variable
Console.WriteLine (c);
OUTPUT:
b
e
e
r

我们将在 4.6 节详细介绍。

C# 7.0核心技术指南(51):C#语言基础 2.11.4

购书地址 https://item.jd.com/12681788.html?dist=jd

评论

发布