vb.net 教程 2-8 流程控制:跳转语句GOTO

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
执行GOTO语句将无条件地跳转到过程内的标签所在代码。
需要注意的是:由于GoTo的跳转使代码具有不确定性,而且阅读和维护会变得更加困难,应该尽可能的减少使用。

看以下代码,输出0-100,但是当等于5时,结束输出。

    Sub main()
        For i As Integer = 0 To 100
            Console.WriteLine(i)
            If i = 5 Then GoTo equal5
        Next
        Console.ReadKey()
        Exit Sub

equal5:
        Console.WriteLine("已经跳转")
        Console.ReadKey()
    End Sub


我们定义了一个标签:equal5,当i=5时就跳转到此处的代码,不再继续输出数字。运行如下:

再继续看以下代码:

    Sub Main()
        Dim i As Integer
        Console.WriteLine("请输入一个数字")
        i = CType(Console.ReadLine, Integer)

        Select Case i
            Case 0
                GoTo statements0
            Case 1
                GoTo statements1
            Case Else
                GoTo statementselse
        End Select

statements0:
        Console.WriteLine("输入数据为0")

statements1:
        Console.WriteLine("输入数据为1")

statementselse:
        Console.WriteLine("输入数据为其他")

        Console.ReadKey()
    End Sub

运行时如下:

可以看到并不是我们所希望的输出。修改代码如下:

    Sub Main()
        Dim i As Integer
        Console.WriteLine("请输入一个数字")
        i = CType(Console.ReadLine, Integer)

        Select Case i
            Case 0
                GoTo statements0
            Case 1
                GoTo statements1
            Case Else
                GoTo statementselse
        End Select

statements0:
        Console.WriteLine("输入数据为0")
        GoTo endsub
statements1:
        Console.WriteLine("输入数据为1")
        GoTo endsub
statementselse:
        Console.WriteLine("输入数据为其他")
        GoTo endsub
endsub:
        Console.ReadKey()
    End Sub

 

 

 

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net 教程 目录

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值