网站首页 > 技术文章 正文
在使用循环语句时,并不是必须等待循环完成后才能退出循环,我们也可以主动退出循环,C#为我们提供了break、continue和goto三种方式来跳出循环:
1.break(直接跳出条件循环,后面的程序将不执行)
它不仅可以用来终止switch语句,在循环语句中使用时还可以用来跳出循环,执行循环外的下一条语句。如果是在嵌套循环中使用,例如在内层的循环中使用break语句,那么程序只会跳出内层的循环,并不会影响到外层循环的执行。
代码示例如下:
for (int i = 1; i <= 9; i++)
{
if (i == 5)
{
break;
}
Console.Write("{0}",i);
}
Console.ReadLine();
Console.ReadKey();
运行结果:
2.continue(类似断点,跳出条件循环,但不影响继续执行)
C#中continue语句的工作原理与break语句类似,但是continue语句并不会跳出整个循环,而是跳过本次循环继续执行下一次的循环。
示例代码如下:
for(int i=1;i<=9;i++)
{
if(i==5)
{
continue;
}
Console.Write("{0}", i);
}
Console.ReadLine();
运行结果:
3.goto(可以跳到指定位置执行语句)
C#中的goto语句也称为跳转语句,使用它可以控制程序跳转到指定的位置执行。不过并不建议在程序中多次使用goto语句,因为它会程序变得更加复杂。在使用goto语句来跳转程序之前,必须先在想要跳转的位置定义好一个标签(labels),标签的名称的定义和变量名相似,然后使用goto标签名;即可使程序跳转到指定位置执行。goto语句并不限于在循环中使用,其他的情况也可以使用,但是,goto语句不能从循环外跳到循环语句中,而且不能跳出类的范围。
示例代码如下:
int count = 1;
login:
for (int b = 0; b <= count; b++)
{
Console.WriteLine("第{0}次:请输入用户名", count);
string username = Console.ReadLine();
Console.WriteLine("第{0}次:请输入密码", count);
string userpwd = Console.ReadLine();
if (username == "admin" && userpwd == "123456")
{
Console.WriteLine("登录成功");
Console.WriteLine("正在退出");
goto end;
}
else
{
break;
}
}
count++;
if (count > 3)
{
Console.WriteLine("用户名或者密码错误次数过多!退出");
}
else
{
Console.WriteLine("用户名或密码错误");
goto login;//返回login标签处重新输入用户名密码;
}
end:
Console.ReadKey();
运行结果:
猜你喜欢
- 2024-09-10 Python的for循环用法介绍(python中的for循环语句)
- 2024-09-10 for循环 while循环 exit退出整个脚本
- 2024-09-10 Python中的for循环(python中的for循环嵌套)
- 2024-09-10 MATLAB表上作业法解决运输问题(matlab求解运输问题案例)
- 2024-09-10 Python笔记 循环中的break/continue/pass
- 2024-09-10 Python | for 循环(pythonfor循环1到10)
- 2024-09-10 golang2021流程控制(18)跳转控制语句-break
- 2024-09-10 Python中break语句在for循环中的使用
- 2024-09-10 Python-第10弹之while循环、for循环、break语句、continue语句
- 2024-09-10 js forEach跳出循环(js跳出当前for循环)
- 08-02C|在一个结构体嵌套一个共用体实现一体多用
- 08-02C++中,常用的强制类型转换函数
- 08-02如何使用C语言编程实现一个推箱子游戏?技术核心和算法实现
- 08-02C++20 新特性(24):模板访问权限和typename的放宽
- 08-02C++零基础到工程实践
- 08-02[深度学习] Python人脸识别库face_recognition使用教程
- 08-02AI算法之怎么利用Python实现支持向量机SVM算法
- 08-02【机器学习】SVM支持向量机
- 1520℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 623℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 526℃MySQL service启动脚本浅析(r12笔记第59天)
- 492℃启用MySQL查询缓存(mysql8.0查询缓存)
- 491℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 479℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 460℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 458℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)