加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

GoTo语句和VB.NET中的替代方法

发布时间:2020-12-17 00:27:25 所属栏目:大数据 来源:网络整理
导读:我在另一个论坛上发布了一个代码片段,要求帮助,人们向我指出,使用GoTo语句是非常糟糕的编程习惯.我在想:为什么不好 GoTo的替代方法是在VB.NET中使用,这通常被认为是更好的做法? 请考虑以下这个片段,用户必须输入他们的出生日期.如果月/日/年无效或不现实,
我在另一个论坛上发布了一个代码片段,要求帮助,人们向我指出,使用GoTo语句是非常糟糕的编程习惯.我在想:为什么不好

GoTo的替代方法是在VB.NET中使用,这通常被认为是更好的做法?

请考虑以下这个片段,用户必须输入他们的出生日期.如果月/日/年无效或不现实,我想循环再询问用户. (我正在使用if语句来检查整数的大小…如果有更好的方法来做到这一点,我很感激,如果你也可以告诉我:D)

retryday:
    Console.WriteLine("Please enter the day you were born : ")
    day = Console.ReadLine
    If day > 31 Or day < 1 Then
        Console.WriteLine("Please enter a valid day")
        GoTo retryday
    End If
我会和其他人不一样,说GOTO本身并不是全部的邪恶.邪恶来自滥用GOTO.

一般来说,几乎总是比使用GOTO更好的解决方案,但实际上GOTO是正确的方式.

话虽如此,你是一个初学者,所以你不应该被允许判断GOTO是否适合(因为几乎没有)几年.

我会写这样的代码(我的VB有点生锈…):

Dim valid As Boolean = False

While Not valid
    Console.WriteLine("Please enter the day you were born: ")

    Dim day As String

    day = Console.ReadLine

    If day > 31 Or day < 1 Then
        Console.WriteLine("Please enter a valid day.")
    Else
        valid = True
    End If
End While

如果你把你的GOTO代码看看,那么有人首先接近你的代码呢? “嗯..重试?这是做什么的?什么时候发生?哦,所以我们去那个标签,如果一天超出范围,好的,所以我们想循环,直到日期被认为是有效的,在范围内” .

而如果你看我的:

“哦,我们要继续这样做,直到它有效,当日期在范围内时才有效.”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读