有没有办法创建一个参数数量未知的方法?
如果是这种情况:
- 如何在这种方法中访问它们?
- 它们必须来自同一类型吗?
是的是的。
这是可能的,并且它们都必须是相同的类型,如果您需要传递各种类型,请改用对象数据类型,然后在函数中将它们拆箱。使用参数数组:
' 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
有关更多信息,请参阅此
我知道这已经得到解答,可能大多数人都会定期来这里寻求答案。@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()
等