如何给可选数组参数初始值?

kevery_net 2005-10-15 07:08:29
如何给可选数组参数初始值?
如果不是数组的,我知,但是用数组参数我不知如果给它初始值....
例:
不是数组的给初值为:
private sub temp(optioncal str as string="初始值")
'''''''''
end sub

而用数组,该如何表示??

private sub temp(optioncal str() as string @此处如何给初值@ )
'''''''''''
end sub
...全文
141 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
farrio 2005-10-19
  • 打赏
  • 举报
回复
你说的那个应该是参数数组吧,不是可选参数,而是支持无限多个参数。
比如C语言里面的sprintf函数,第一个参数是format字符串,后面跟多个嵌入的值。
比如sprintf("the number is %d, %d, %d", 12, 20, 22)
farrio 2005-10-19
  • 打赏
  • 举报
回复
public sub temp(byval param str() as string = new string() {"a","b","c"})
...
end sub
不知道可不可以
水如烟 2005-10-19
  • 打赏
  • 举报
回复
有optioncal 这个关键词吗?没曾注意过.也谢谢
kevery_net 2005-10-19
  • 打赏
  • 举报
回复
谢谢你..我用你上面说的(在可选参数中)试了N次,都没有OK,不知是我写错了,还是它不能用在可选参数中.......

不过我现在知道怎么做了..原来用数组作为可选参数时,不可以用optioncal 这个关键词,而是用数组关键词ParamArray,它既可以表示选数组可选参数关键词,也要以作为数组参数关键词,当作为可选参数时,它自动把变量数组初始值为空.

下面事例:

public sub A()
dim T as new B
T.temp() '''调用B类中的temp,且没有带参数
T.temp("ABCD") '''调用B类中的temp,且事有参数
end sub
'''============================================================
public class B
public sub temp(byval paramarray str() as string)
If str.Length = 0 Then
msbox("没有调用可选参数")
Else
msgBox("已调用了可选参数,你所给的值的第一个字符为: " & str(0).Chars(2))
End If
end sub
end class
水如烟 2005-10-15
  • 打赏
  • 举报
回复
temp(New String(){"A","B","C"})

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧