如何为VB.NET提供不同的参数集选项

时间:2017-11-09 19:37:39

标签: .net vb.net

我正在编写一个简单的控制台程序,它是一个计算器,我正在使用一个函数来进行实际计算,我需要一些2个数字,而其他3个数字要在函数的参数中发送,而我无法在任何地方找到如何拥有不同的参数集。可能你不能这样做,但在放弃之前总是要问!

这是目前为止的第一行功能

Function Calculate(n1 As Decimal, n2 As Decimal, n3 As Decimal, calcOption As Char)

先谢谢你,詹姆斯

1 个答案:

答案 0 :(得分:2)

使用ParamArray

Function Calculate(calcOption As Char, ParamArray numbers() As Decimal) As Decimal
    Select Case calcOption
        Case "s"c ' sum
            Return numbers.Sum()
        Case "p"c ' product
            Return numbers.Aggregate(Function(n1, n2) n1 * n2)
        Case "d"c ' division
            Return numbers.Aggregate(Function(n1, n2) n1 / n2)
        Case "m"c ' minus
            Return numbers.Aggregate(Function(n1, n2) n1 - n1)
        Case Else
            'etc.
            Return 0
    End Select
End Function

用法

Dim product = Calculate("p"c, 2, 3, 4)
' 24
Dim sum = Calculate("s"c, 5, 6, 7, 8, 9)
' 35

0或1个参数的特殊情况,但你可以想出来。