C#中break,continue,return,,goto,throw的区别(转)
break
语句用于终止最近的封闭循环或它所在的switch 语句。 控制传递给终止语句后面的语句(如果有的话)。
/// <summary>/// break 示例/// 在此例中,条件语句包含一个应该从 1 计数到 100 的计数器/// 但 break 语句在计数达到 4 后终止循环。/// </summary>static void Main(){for (int i = 1; i <= 100; i++){if (i == 5){break;}Console.WriteLine(i);}}
continue
语句将控制权传递给它所在的封闭迭代语句的下一次迭代。
/// <summary>/// continue 示例/// 在此示例中,计数器最初是从 1 到 10 进行计数 // 但通过将 continue 语句与表达式 (i< 9) 一起使用/// 跳过了 continue 与 for 循环体末尾之间的语句。/// </summary>static void Main(){for (int i = 1; i <= 10; i++){if (i < 9){continue;}Console.WriteLine(i);}}
goto
语句将程序控制直接传递给标记语句。goto的一个通常用法是将控制传递给特定的switch-case 标签或switch 语句中的默认标签。 goto语句还用于跳出深嵌套循环。
/// <summary>/// goto 示例/// 输入 2 /// 示例输出/// Coffee sizes: 1=Small 2=Medium 3=Large/// Please enter your selection: 2 /// Please insert 50 cents. /// Thank you for your business./// </summary>static void Main() {Console.WriteLine("Coffee sizes: 1=Small 2=Medium 3=Large");Console.Write("Please enter your selection: ");string s = Console.ReadLine();int n = int.Parse(s); int cost = 0; switch (n) {case 1: cost += 25; break; case 2:cost += 25; goto case 1;case 3:cost += 50;goto case 1; default:Console.WriteLine("Invalid selection.");break; } if (cost != 0){ Console.WriteLine("Please insert {0} cents.", cost);} Console.WriteLine("Thank you for your business.");}
/// <summary>/// goto 示例2/// 下面的示例演示了使用 goto 跳出嵌套循环/// 输入 44 示例输出 /// Enter the number to search for: 44/// The number 44 is found./// End of search./// </summary>static void Main(){int x = 200, y = 4; int count = 0; string[,] array = new string[x, y]; // Initialize the array: for (int i = 0; i < x; i++) for (int j = 0; j < y; j++) array[i, j] = (++count).ToString(); // Read input: Console.Write("Enter the number to search for: "); // Input a string: string myNumber = Console.ReadLine(); // Search: for (int i = 0; i < x; i++) { for (int j = 0; j < y; j++){ if (array[i, j].Equals(myNumber)) { goto Found; } } } Console.WriteLine("The number {0} was not found.", myNumber); goto Finish; Found: Console.WriteLine("The number {0} is found.", myNumber); Finish: Console.WriteLine("End of search."); }
return
语句终止它出现在其中的方法的执行并将控制返回给调用方法。它还可以返回一个可选值。如果方法为void 类型,则可以省略return 语句。
throw
语句用于发出在程序执行期间出现反常情况(异常)的信号。通常throw语句与try-catch或try-finally 语句一起使用。当引发异常时,程序查找处理此异常的catch 语句。也可以用
throw 语句重新引发已捕获的异常。
/// <summary>/// thow 示例/// </summary>static void Main(){string s = null;if (s == null){throw new ArgumentNullException();}Console.Write("The string s is null");// not executed }
转载于:https://www.cnblogs.com/zhizhuo-1991/p/5591662.html
C#中break,continue,return,,goto,throw的区别(转)相关推荐
- Java中 break continue return 的用法以及区别
1.return (1)return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行. (2)return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致 ...
- Java中 break continue return 的区别
1.break break :跳出当前循环:但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环: for (int i = 0; i < 10; i++) { i ...
- Break Continue Return( BCR ) 三者的区别
Break是完全结束一个循环,当该循环中出现break,则该循环终止,然后执行该循环之后的代码. package com.etime;public class BCR {public static v ...
- JavaScript 中,break , continue , return 的区别
break , continue , return 的区别 break :结束当前的循环体(如 for.while) continue :跳出本次循环,继续执行下次循环(如 for.while) re ...
- 详解C#break ,continue, return
C#编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢?让我 ...
- PHP中跳出循环break,continue,return,exit的区别
1. return 语句的作用 (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行. (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中 ...
- js 中的break continue return
break:跳出整个循环 1.当i=6时,就跳出了整个循环,此for循环就不继续了: continue:跳出当前循环,继续下一次循环: return :指定函数返回值 1.在js当中,常使用retur ...
- 重学JavaSE 第4章 : 顺序结构、分支语句、循环结构、break, continue, return区别
文章目录 一. 程序流程控概述 二. 顺序结构 三.分支语句 2.1.分支语句1:if-else结构 2.1.1.输入语句 2.2. 分支语句2:switch-case结构 四.循环结构 4.1.fo ...
- java 理解break,continue,return
这是第一次写博客,今天在工作中遇到有关break,return,continue.记录一下我的理解. break: break常用于for循环中判断语句中和switch语句,break只能跳出一层fo ...
最新文章
- python 自定义异常类
- 贡献思想 + 数论 + 思维(例题 Problem J. Prime Game)
- C++使用new和不使用new关键字实例化对象的区别
- 第一章	安装OpenResty(Nginx+Lua)开发环境
- Linux 系统服务管理(启动服务/停止服务/重启服务)的命令 - chkconfig/service/systemctl
- vue-cli 基本原理
- 网页打开Android APP
- 90后IT男被准丈母娘拒绝:家境不重要,重要的是…戳中痛处
- Android应用内存泄漏的定位、分析与解决策略 1
- 使用Java快速开发一个新闻爬虫项目
- ajhua门禁_大华门禁主机密码 ajhua门禁
- matlab三次样条插值多项式,三次样条插值多项式matlab
- DAPP 开发直通车-如何基于NEL 轻钱包来开发DAPP
- 除了Google Adsense外比较适合英文站投放的国外广告联盟
- vue引入外部js文件(第三方js工具或者jq库)
- GDAL / OGR 学习手册 [02] :栅格数据读取
- word中四号字体对应于14pt,其他字号如下
- Lessonnbsp;52nbsp;Anbsp;prett…
- 修复 Android Stagefright Bug 需要 115 个补丁
- SpringBoot错误-Correct the classpath of your application so that it contains a single, compatible vers
热门文章
- LeetCode 1124. 表现良好的最长时间段(单调栈/哈希)
- LeetCode 第 199 场周赛(757/5231,前14.5%)
- LeetCode 388. 文件的最长绝对路径(不用栈,前缀和)
- LeetCode 59. 螺旋矩阵 II LeetCode 54. 螺旋矩阵
- SparkContext解析
- 智慧新泰时空大数据与云平台_智慧警务大数据云平台开发情报研判系统解决方案...
- 非常好的C语言章节习题集带答案,非常好的C语言章节习题集带答案选编.doc
- 淘宝网Java五面:现场面试49题含答案!
- 论文浅尝 | 基于异质图交互模型进行篇章级事件抽取
- 给自由职业者和远程工作者的诚恳建议,成为自由职业者和远程工作者前要考虑的那些事儿