参数数量未知的函数或方法

时间:2012-06-05 07:31:58

标签: vb.net

有没有办法创建参数数量未知的方法?

如果是这样的话:

  • 如何在此方法中访问它们?
  • 他们必须来自同一类型吗?

2 个答案:

答案 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()