如何在此vb应用程序中传递变量的结果?

Fey*_*ubi 0 vb.net msgbox

我已经编写了下面的代码来计算大于或等于1的数字的阶乘.

Public Class FactorialApp

    Private Function FactorialChecker(myNumber As Integer)
        myNumber = Val(FactorialTextBox.Text)
        If myNumber < 1 Then
            FactorialChecker = 1

        Else
            FactorialChecker = myNumber * FactorialChecker(myNumber - 1)
        End If
    End Function

    Public Sub ResultButton_Click(sender As Object, e As EventArgs) Handles ResultButton.Click

    End Sub

End Class
Run Code Online (Sandbox Code Playgroud)

我希望在一个button_click事件中有一个消息框,其中有一个类似于5的阶乘是点击时应该是5的120myNumber和120的FactorialChecker()函数,但是我不知道如何在VB的MsgBox命令中返回值,我只是习惯了C#的.

我尝试了代码片段

    MsgBox("The Factorial of  + myNumber "is" + FactorialChecker() "") 
Run Code Online (Sandbox Code Playgroud)

但是我被visual studio中的语法错误所困,还有一个错误,即我的myNumber变量未在程序中声明.我该怎么办才能解决这些错误?

eva*_*nal 6

像这样:

MsgBox("The Factorial of " + myNumber + " is " + FactorialChecker()) 
Run Code Online (Sandbox Code Playgroud)

您只是没有关闭字符串第一部分的引号,因此它们是不平衡的,因此您的编译器错误.另外,我添加了一些间距因为我认为你会想要它们.

请注意,在VB.NET中,使用MessageBox.Show优于旧的VB6风格的MsgBox函数.此外,在VB中,&通常建议+操作员通过操作符进行字符串连接,因为+操作员可以获得一些意想不到的结果Option Strict Off.所以,这将是更好的方法:

MessageBox.Show("The Factorial of " & myNumber & " is " & FactorialChecker()) 
Run Code Online (Sandbox Code Playgroud)

  • +1用于编辑,提及`&`over` +`用于字符串连接. (2认同)