Vb.net 非常简单的if语句,用VB制作控制台应用程序
我认为在这里使用IF语句是错误的,不确定是否有更好的方法。该程序在选项1新闻中按我所希望的方式工作,但在选项2历史价格中无法按我所希望的方式工作Vb.net 非常简单的if语句,用VB制作控制台应用程序,vb.net,if-statement,console-application,Vb.net,If Statement,Console Application,我认为在这里使用IF语句是错误的,不确定是否有更好的方法。该程序在选项1新闻中按我所希望的方式工作,但在选项2历史价格中无法按我所希望的方式工作 Module Module1 Dim ticker Sub Main() System.Console.WriteLine("Welcome") Module1.snd() End Sub Sub snd() System.Console.WriteLine("Pick a command:") System.Conso
Module Module1
Dim ticker
Sub Main()
System.Console.WriteLine("Welcome")
Module1.snd()
End Sub
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
If System.Console.ReadLine = "1" Then Module1.News() : If System.Console.ReadLine = "2" Then Module1.hp()
End Sub
Sub News()
System.Console.WriteLine("News, pick a command:")
System.Console.WriteLine("1) OTCM")
If System.Console.ReadLine = "1" Then
System.Console.WriteLine("Give me ticker:")
ticker = System.Console.ReadLine
Process.Start("http://www.otcmarkets.com/stock/" + ticker + "/news")
Module1.snd()
End If
End Sub
Sub hp()
System.Console.WriteLine("Historical Prices/Volume, pick a command:")
System.Console.WriteLine("1) Google Finance")
If System.Console.ReadLine = "1" Then
System.Console.WriteLine("Give me ticker:")
ticker = System.Console.ReadLine
Process.Start("http://www.google.com/finance/historical?q=%3A" + ticker + "&ei=LWsXU9inBcj66gHZLA")
Module1.snd()
End If
End Sub
结束模块如果调用Console.Readline,则控制台将等待用户每次输入一行。请尝试选择案例语句:
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
Select Case Console.Readline
Case "1" : Module1.News()
Case "2" : Module1.hp()
Case Else : Module1.snd()
End Select
End Sub
这将读取一行,然后切换到键入的案例。Case else处理所有不是1或2的内容,再次调用同一个子对象以等待新的输入
史蒂文:
您还可以将该行读入字符串变量,并使用If/Then/Else进行计算,如下所示:
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
Dim UserInput as String = Console.ReadLine
If UserInput = "1" Then
News()
ElseIf UserInput = "2" Then
Hp()
Else
snd()
End If
End Sub
诀窍是一样的,您只需读取一行,然后计算并处理输入。如果您调用Console.Readline,则Console将等待用户每次输入一行。请尝试选择案例语句:
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
Select Case Console.Readline
Case "1" : Module1.News()
Case "2" : Module1.hp()
Case Else : Module1.snd()
End Select
End Sub
这将读取一行,然后切换到键入的案例。Case else处理所有不是1或2的内容,再次调用同一个子对象以等待新的输入
史蒂文:
您还可以将该行读入字符串变量,并使用If/Then/Else进行计算,如下所示:
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
Dim UserInput as String = Console.ReadLine
If UserInput = "1" Then
News()
ElseIf UserInput = "2" Then
Hp()
Else
snd()
End If
End Sub
诀窍是一样的,你只需读一行,然后计算并处理输入。太棒了,Jens!太完美了!非常感谢:+1,如果您还展示了如何在没有选择案例(如if/ElseIf或多个if语句)的情况下正确地完成此操作。更好的是:我同意选择/案例是使用此语句的方式,但由于OP最有可能是初学者,因此您离原始示例越近,这将更有助于指出他们做错了什么。太棒了,詹斯!太完美了!非常感谢:+1,如果您还展示了如何在没有选择案例(如if/ElseIf或多个if语句)的情况下正确地完成此操作。更好的是:我同意选择/案例是使用此语句的方式,但由于OP最有可能是初学者,因此您离原始示例越近,这将更有助于指出他们做错了什么。