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

前端之家收集整理的这篇文章主要介绍了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代码看看,那么有人首先接近你的代码呢? “嗯..重试?这是做什么的?什么时候发生?哦,所以我们去那个标签,如果一天超出范围,好的,所以我们想循环,直到日期被认为是有效的,在范围内” .

而如果你看我的:

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

原文链接:https://www.f2er.com/vb/255168.html

猜你在找的VB相关文章