参数数组
更新:2007 年 11 月
通常,调用的过程所包含的参数不能超出过程声明指定的数目。当需要数量不确定的变量时,可声明一个参数数组,它允许过程接受一组值作为参数。定义过程时,并不需要知道参数数组中的元素数。每次过程调用都单独确定数组的大小。
声明 ParamArray
使用 ParamArray 关键字表示参数列表中的参数数组。适用以下规则:
一个过程只能定义一个参数数组,而且此参数数组必须是过程定义中的最后一个参数。
参数数组必须通过值传递。在过程定义中显式使用 ByVal 关键字是良好的编程习惯。
参数数组是自动可选的。其默认值是参数数组元素类型的空一维数组。
参数数组前面的所有参数都是必需的。参数数组必须是唯一的可选参数。
有关更多信息,请参见如何:定义参数数量不确定的过程。
调用 ParamArray
调用定义参数数组的过程时,可以通过以下一种方式提供变量:
不提供任何参数,即您可省略 ParamArray 参数。这种情况下给过程传递的是空数组。您还可以传递 Nothing (Visual Basic) 关键字,效果相同。
包含任意数量的参数的列表,各参数之间用逗号分隔。每个参数的数据类型都必须可以隐式转换成 ParamArray 元素类型。
元素类型与参数数组的元素类型相同的数组。
在任何情况下,过程中的代码都将参数数组视为一个一维数组,此数组的元素的数据类型与 ParamArray 数据类型相同。
有关更多信息,请参见如何:调用参数数量不确定的过程。
安全说明: |
---|
每当处理可能变得无限大的数组时,将存在耗尽应用程序的某种内部容量的风险。如果接受一个参数数组,则应该测试调用代码传递给此数组的数组大小。如果此数组对应用程序来说太大,请执行适当的操作。有关更多信息,请参见如何:确定数组的大小。 |