C# goto语句的具体使用

C# goto 语句用于直接在一个程序中转到程序中的标签指定的位置,标签实际上由标识符加上冒号构成。

语法形式如下。

goto Labell;
    语句块 1;
Labell
    语句块 2;

如果要跳转到某一个标签指定的位置,直接使用 goto 加标签名即可。

在上面的语句中使用了 goto 语句后,语句的执行顺序发生了变化,即先执行语句块 2,再执行语句块 1。

此外,需要注意的是 goto 语句不能跳转到循环语句中,也不能跳出类的范围。

由于 goto 语句不便于程序的理解,因此 goto 语句并不常用。

【实例】使用 goto 语句判断输入的用户名和密码是否正确,如果错误次数超过3次,则输出“用户名或密码错误次数过多!退出!”。

根据题目要求,假设用户名为 aaa、密码为 123,代码如下。

class Program
{
    static void Main(string[] args)
    {
        int count = 1;
    login:
        Console.WriteLine("请输入用户名");
        string username = Console.ReadLine();
        Console.WriteLine("请输入密码");
        string userpwd = Console.ReadLine();
        if (username == "aaa" && userpwd == "123")
        {
            Console.WriteLine("登录成功");
        }
        else
        {
            count++;
            if (count > 3)
            {
                Console.WriteLine("用户名或密码错误次数过多!退出!");
            }
            else
            {
                Console.WriteLine("用户名或密码错误");
                goto login;//返回login标签处重新输入用户名密码
            }
        }
    }
}

执行上面的代码,效果如下图所示。

到此这篇关于C# goto语句的具体使用的文章就介绍到这了,更多相关C# goto语句内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • c# 插入数据效率测试(mongodb)

    mongodb的数据插入速度是其一个亮点,同样的10000条数据,插入的速度要比Mysql和sqlserver都要快,当然这也是要看使用者怎么个使用法,你代码如果10000次写入使用10000次连接,那也是比不过其他数据库使用事务一次性提交的速度的. 同样,mongo也提供的一次性插入巨量数据的方法,因为mongodb没有事务这回事,所以在在C#驱动里,具体方法是InsertManyAsync()一次性插入多个文档.与之对应的是InsertOneAsync,这个是一次插入一个文档: Insert

  • asp.net(C#)使用QRCode生成图片中心加Logo或图像的二维码实例

    本文实例讲述了asp.net(C#)使用QRCode生成图片中心加Logo或图像的二维码.分享给大家供大家参考,具体如下: <%@ WebHandler Language="C#" Class="GetQRCode" %> using System; using System.Web; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtW

  • C#中使用1.7版本驱动操作MongoDB简单例子

    复制代码 代码如下: //创建数据库链接 //在1.7的版本驱动中这样写是会报 MongoServer方法已过时的 //MongoServer server =  MongoDB.Driver.MongoServer.Create(strconn); //带有用户名,密码的如下写法,不带的则直接ip+端口就可以 const string connectionString = "mongodb://city:liyang@192.168.1.211:27017"; //得到一个客户端对象

  • C#简单操作MongoDB的步骤全纪录

    前言 MongoDB是一款由C++编写的高性能.开源.无模式的常用非关系型数据库产品,是非关系数据库当中功能最丰富.最像关系数据库的数据库.它扩展了关系型数据库的众多功能,例如:辅助索引.范围查询.排序等. MongoDB主要解决的是海量数据的访问效率问题,它作为分布式数据崛起后,使用较多的一款非结构数据库,必然有其值得称道之处,它的主要功能特性如下: 1)面向集合的存储,适合存储对象及JSON形式的数据. 2)动态查询,MongoDB支持丰富的查询表达式.查询指令使用JSON形式的标记,可轻易

  • 详解MongoDB for C#基础入门

    笔者这里采用的是mongoDB官网推荐使用.net驱动: http://mongodb.github.io/mongo-csharp-driver/2.0/getting_started/quick_tour/ 有关于MongoDB的安装读者可以参考其他的博客,对于基本的学习来说并不需要进行过多的配置. 创建连接 这一步骤跟ADO.NET连接到数据库的步骤是一样的,ADO.NET是利用SqlConnection连接数据库,而MongoDB则使用MongoClient连接,并在构造函数中将连接字符

  • C#中实现一次执行多条带GO的sql语句实例

    本文实例讲述了C#中实现一次执行多条带GO的sql语句.分享给大家供大家参考.具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Text.RegularExpressions; using System.Data.SqlClient; namespace ConsoleApplicati

  • c#操作mongodb插入数据效率

    mongodb的数据插入速度是其一个亮点,同样的10000条数据,插入的速度要比Mysql和sqlserver都要快,当然这也是要看使用者怎么个使用法,你代码如果10000次写入使用10000次连接,那也是比不过其他数据库使用事务一次性提交的速度的. 同样,mongo也提供的一次性插入巨量数据的方法,因为mongodb没有事务这回事,所以在在C#驱动里,具体方法是InsertManyAsync()一次性插入多个文档.与之对应的是InsertOneAsync,这个是一次插入一个文档: Insert

  • C# 对MongoDB 进行增删改查的简单操作实例

    运用到的MongoDB支持的C#驱动,当前版本为1.6.0 下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 1,连接数据库 复制代码 代码如下: /// <summary>        /// 数据库连接         /// </summary>        private const string conn = "mongodb://127.0.0.1:27017";     

  • Go语言流程控制之goto语句与无限循环

    goto语句 在Go编程语言中的goto语句提供无条件跳转从跳转到标记声明的功能. 注意:使用goto语句是高度劝阻的在任何编程语言,因为它使得难以跟踪程序的控制流程,使程序难以理解,难以修改.使用一个goto任何程序可以改写,以便它不需要goto. 语法 转到goto语句的语法如下: 复制代码 代码如下: goto label; .. . label: statement; 在这里,标签(label)可以是除去关键字任何纯文本,它可以在任何地方设置在Go程序的上方或下方,以使用goto语句.

  • 深入理解goto语句的替代实现方式分析

    曾几何时,goto是多么的让牛人绽放他们高超的精湛技术曾几何时,goto又变成了万恶之首曾几何时,goto只在教科书中的示例才会出现有太多的理由不让用goto,但有时,我们又想使用goto的功能,怎么办?用try/catch/finally便可实现同等于goto的功能,来看二个示例: 复制代码 代码如下: try {      // operation one      if (failed) {            throw Exception;      }      // operat

  • C++流程控制中用于跳转的return和goto语句学习教程

    return 语句 终止函数的执行并返回对调用函数的控制(或对操作系统的控制,如果您从 main 函数转移控制).紧接在调用之后在调用函数中恢复执行. 语法 return [expression]; 备注 expression 子句(如果存在)将转换为函数声明中指定的类型,就像正在执行初始化一样.从该类型的表达式到 return 类型的函数的转换会创建临时对象. expression 子句的值将返回调用函数.如果省略该表达式,则函数的返回值是不确定的.构造函数和析构函数以及类型为 void的函数

  • 如何在Python中实现goto语句的方法

    Python 默认是没有 goto 语句的,但是有一个第三方库支持在 Python 里面实现类似于 goto 的功能:https://github.com/snoack/python-goto..比如在下面这个例子里, from goto import with_goto @with_goto def func(): for i in range(2): for j in range(2): goto .end label .end return (i, j, k) func() 在执行第一遍循

  • PHP goto语句用法实例

    问题 当 PHP 在执行代码过程,在某一时刻我们希望它能跳转到某一特定位置继续执行代码,该怎么做呢? 回答 在 PHP 中,我们可以使用 goto 操作符来使 PHP 代码执行器跳转到程序中某一特定位置.goto 的使用有一定限制,如:无法跳出一个函数或类,无法从外部跳入到一个函数,无法跳入到任何循环或者 switch 结构中.但可以跳出循环或者 switch,通常的用法是用 goto 代替 switch 中嵌套多层的 break. 语法 goto 会使 PHP 直接跳转到指定标志位置. got

  • 对Python3 goto 语句的使用方法详解

    熟悉 C 语言的小伙伴一定对 goto 语句不陌生,它可以在代码之间随意的跳来跳去,但是好多老鸟都告诫大家,不要使用 goto,因为 goto 会使你的代码逻辑变的极其混乱. 但是有时候我们不得不用它,因为它太高效了.比如进入循环内部深层一个 goto 就能回到最上层,还有可以定位到代码的任意一个位置,很是高效方便. 但是也不要所有的代码都用 goto,那样你的代码就变得像量子世界那样诡异,连你自己都控制不了. 最后一句忠告,能不用 goto 最好就不用. 首先安装一个 goto 的包(因为官方

  • go语言goto语句跳转到指定的标签实现方法

    goto 语句通过标签进行代码间的无条件跳转.goto 语句可以在快速跳出循环.避免重复退出上有一定的帮助.Go 语言中使用 goto 语句能简化一些代码的实现过程. 使用 goto 集中处理错误 package main import "fmt" func main() { for x := 0; x < 10; x++ { for y := 0; y < 10; y++ { if y == 2 { // 跳转到标签 goto breakHere } } } // 手动返

  • C# goto语句的具体使用

    C# goto 语句用于直接在一个程序中转到程序中的标签指定的位置,标签实际上由标识符加上冒号构成. 语法形式如下. goto Labell; 语句块 1; Labell 语句块 2; 如果要跳转到某一个标签指定的位置,直接使用 goto 加标签名即可. 在上面的语句中使用了 goto 语句后,语句的执行顺序发生了变化,即先执行语句块 2,再执行语句块 1. 此外,需要注意的是 goto 语句不能跳转到循环语句中,也不能跳出类的范围. 由于 goto 语句不便于程序的理解,因此 goto 语句并

  • Java中的"goto"语句妙用

    目录 Java goto语句妙用 Java label 反编译 "goto"--标签(基本用法+实例) 1.GoTo简介 2.那么为什么goto的名声这么不好呢? 3.java中的goto--标签 4.总结 Java goto语句妙用 今天和朋友聊天的时候,无意间聊到了 goto 语句,但是在 Java 中, goto 是保留关键字,但是朋友说 Java 中有和 goto 类似效果的语句,我竟然一点都不知道!顿时感觉 Java 白学了!心里万马奔腾!? 立马回来查资料+写demo,还有

  • C语言goto语句简单使用详解

    简单介绍 C语言中提供了可以随意滥用的 goto语句和标记跳转的标号.从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码.但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或多层循环.这种情况使用break是达不到目的的.它只能从最内层循环退出到上一层的循环. 语法 C 语言中 goto 语句的语法: goto label; .. . label: statement; 示例对比 #include<std

随机推荐