我正在编写一个简单的控制台程序,它是一个计算器,我正在使用一个函数来进行实际计算,我需要一些2个数字,而其他3个数字要在函数的参数中发送,而我无法在任何地方找到如何拥有不同的参数集。可能你不能这样做,但在放弃之前总是要问!
这是目前为止的第一行功能
Function Calculate(n1 As Decimal, n2 As Decimal, n3 As Decimal, calcOption As Char)
先谢谢你,詹姆斯
答案 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个参数的特殊情况,但你可以想出来。