有没有办法创建参数数量未知的方法?
如果是这样的话:
答案 0 :(得分:11)
是&是
它是可能的,并且所有这些都必须是相同的类型,如果你需要传递各种类型使用对象数据类型,然后在函数内取消它们。 使用ParamArray:
' Accept variable number of arguments
Function Sum(ByVal ParamArray nums As Integer()) As Integer
Sum = 0
For Each i As Integer In nums
Sum += i
Next
End Function ' Or use Return statement like C#
Dim total As Integer = Sum(4, 3, 2, 1) ' returns 10
有关详细信息,请参阅this
答案 1 :(得分:1)
我知道这已经得到了解答,可能大多数人经常来这里寻求答案。 @pylover答案是正确的,但要添加它,您可以通过简单地调用Sum()
函数来避免遍历所有项目。因此;
Function Sum(ByVal ParamArray nums As Integer()) As Integer
Return nums.Sum()
End Function
调用函数时
Dim total As Integer = Sum(4, 3, 2, 1)
total
返回10
。您可以对其执行的其他功能包括Max()
,Min()
等