MST
星途 面试题库

面试题:Visual Basic 可空类型在方法参数及返回值中的应用

编写一个 Visual Basic 方法 `Calculate`,它接受两个可空的双精度浮点数作为参数。如果其中任何一个参数为 `Nothing`,则返回 `Nothing`;否则返回两个数的乘积。在主程序中调用该方法,传入不同的可空值进行测试,并处理返回的可空结果,展示如何确保程序不会因空值而引发异常。
48.5万 热度难度
编程语言Visual Basic

知识考点

AI 面试

面试题答案

一键面试
Module Module1
    Function Calculate(ByVal num1 As Double?, ByVal num2 As Double?) As Double?
        If num1 Is Nothing OrElse num2 Is Nothing Then
            Return Nothing
        Else
            Return num1.Value * num2.Value
        End If
    End Function

    Sub Main()
        '测试传入不同的可空值
        Dim result1 As Double? = Calculate(5.5, 3.2)
        Dim result2 As Double? = Calculate(Nothing, 3.2)
        Dim result3 As Double? = Calculate(5.5, Nothing)
        Dim result4 As Double? = Calculate(Nothing, Nothing)

        '处理返回的可空结果,确保程序不会因空值而引发异常
        If result1.HasValue Then
            Console.WriteLine("结果1: " & result1.Value)
        Else
            Console.WriteLine("结果1为Nothing")
        End If

        If result2.HasValue Then
            Console.WriteLine("结果2: " & result2.Value)
        Else
            Console.WriteLine("结果2为Nothing")
        End If

        If result3.HasValue Then
            Console.WriteLine("结果3: " & result3.Value)
        Else
            Console.WriteLine("结果3为Nothing")
        End If

        If result4.HasValue Then
            Console.WriteLine("结果4: " & result4.Value)
        Else
            Console.WriteLine("结果4为Nothing")
        End If

        Console.ReadLine()
    End Sub
End Module