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

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

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

(跳转语句)

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

C#的跳转语句有 break、continue、goto、return 和 throw。

跳转语句仍然遵守 try 语句的可靠性规则(参见 4.5 节)。这意味着:

  • 到 try 语句块之外的跳转总是在达到目标之前执行 try 语句的 finally 语句块。
  • 跳转语句不能从 finally 语句块内跳到块外(除非使用 throw)。

2.11.5.1 break 语句

break 语句用于结束迭代或 switch 语句的执行:

复制代码
int x = 0;
while (true)
{
if (x++ > 5)
break ; // break from the loop
}
// execution continues here after break
...

2.11.5.2 continue 语句

continue 语句放弃循环体中其后的语句,继续下一轮迭代。例如,以下的循环跳过了偶数:

复制代码
for (int i = 0; i < 10; i++)
{
if ((i % 2) == 0) // If i is even,
continue; // continue with next iteration
Console.Write (i + " ");
}
OUTPUT: 1 3 5 7 9

2.11.5.3 goto 语句

goto 语句将执行点转移到语句块中的指定标签处。格式如下:

复制代码
goto statement-label;

或用于 switch 语句内:

复制代码
goto case case-constant; // (Only works with constants, not patterns)

标签语句仅仅是代码块中的占位符,位于语句之前,用冒号后缀表示。下面的代码模拟 for 循环来遍历从 1 到 5 的数字:

复制代码
int i = 1;
startLoop:
if (i <= 5)
{
Console.Write (i + " ");
i++;
goto startLoop;
}
OUTPUT: 1 2 3 4 5

goto case case-constant 会将执行点转移到 switch 语句块中的另一个条件上(参见本章 2.11.3.4 节)。

2.11.5.4 return 语句

return 语句用于退出方法。如果这个方法有返回值,则必须返回方法指定返回类型的表达式。

复制代码
static decimal AsPercentage (decimal d)
{
decimal p = d * 100m;
return p; // Return to the calling method with value
}

return 语句能够出现在方法的任意位置(除 finally 块中)。

2.11.5.5 throw 语句

throw 语句抛出异常来表示有错误发生(参见 4.5 节):

复制代码
if (w == null)
throw new ArgumentNullException (...);

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

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

评论

发布