0

Francesco Balena 著の Visual Basic.net Core Reference という本を購入し、Visual Basic を学びたいと思っていましたが、この本の最初のコンソール コード サンプルで既に問題が発生しています。本が古すぎて、サンプルが現在の VB.net と互換性がなくなったと思いますか? コンパイラは、Sub Main() がないことを示していますが、Francesco の本のサンプルには Sub Main() がありません。

Module MathFunctions 
'A public constant
Public Const DoublePI as Double = 6.2831853
'A private array
    Private factValues(169) As Double
'Return the factorial of a number in the range 0-169
    Public Function Factorial(ByVal n As Integer) As Double
'evvaluate all possible values in advance during the first call.
        If factValues(0) = 0 Then
            Dim i As Integer
            factValues(0) = 1
            For i = 1 To 169
                factValues(i) = factValues(i - 1) * CDbl(i)
            Next
        End If
'check the argument
        If n >= 0 And n <= 169 Then
'return the value in the array if argument is in range
            Factorial = factValues(n)
        Else
'raise an error otherwise
            Err.Raise(6, , "Overflow")
        End If
    End Function
      'The following code block (except End Module) is what I added to the code sample, but I'm still not getting any output from the console
    Sub Main()
     Factorial(32)
    End Sub
    End Module
4

1 に答える 1

0

プログラムは完全に正常に実行されています。

おそらく期待しているのは、関数からの戻り値を確認することですが、それをどこにも出力していません。

次のように変更するMainと、結果が表示されます。

Sub Main()
 Console.WriteLine(Factorial(32))
End Sub
于 2012-05-12T19:46:45.573 に答える