Home All Groups Group Topic Archive Search About

pass array as a function parameter

Author
3 Jun 2010 4:16 PM
DIOS
In VB2005 I have a function that takes an array of integers

Private Sub MyGroups(ByVal grpVals() As Integer)
    'blah
End Sub

I can call the function no problem with two variables

Dim myvals() As Integer = {var1, var2}
MyGroups(myvals)

Is there a way to do this in one line like so
MyGroups( {var1, var2})

Ive tried various ways and searched for different approaches but cant
seem to find one that does it in one line.

AGP

Author
3 Jun 2010 4:33 PM
Simon Whale
look at paramarray


Show quoteHide quote
"DIOS" <sindi***@gmail.com> wrote in message
news:380e546a-9ce0-4a34-a29c-51e737b09dec@q33g2000vbt.googlegroups.com...
> In VB2005 I have a function that takes an array of integers
>
> Private Sub MyGroups(ByVal grpVals() As Integer)
>    'blah
> End Sub
>
> I can call the function no problem with two variables
>
> Dim myvals() As Integer = {var1, var2}
> MyGroups(myvals)
>
> Is there a way to do this in one line like so
> MyGroups( {var1, var2})
>
> Ive tried various ways and searched for different approaches but cant
> seem to find one that does it in one line.
>
> AGP
Author
3 Jun 2010 4:50 PM
Armin Zingler
Am 03.06.2010 18:16, schrieb DIOS:
Show quoteHide quote
> In VB2005 I have a function that takes an array of integers
>
> Private Sub MyGroups(ByVal grpVals() As Integer)
>     'blah
> End Sub
>
> I can call the function no problem with two variables
>
> Dim myvals() As Integer = {var1, var2}
> MyGroups(myvals)
>
> Is there a way to do this in one line like so
> MyGroups( {var1, var2})
>
> Ive tried various ways and searched for different approaches but cant
> seem to find one that does it in one line.


  MyGroups(New Integer() {var1, var2})


Alternatively, if possible, you can declare a ParamArray:

   Private Sub MyGroups(ByVal ParamArray grpVals() As Integer)

Call:

  MyGroups(var1, var2)
  MyGroups(myvals)


--
Armin
Author
3 Jun 2010 6:31 PM
DIOS
On Jun 3, 11:50 am, Armin Zingler <az.nos***@freenet.de> wrote:
Show quoteHide quote
> Am 03.06.2010 18:16, schrieb DIOS:
>
>
>
> > In VB2005 I have a function that takes an array of integers
>
> > Private Sub MyGroups(ByVal grpVals() As Integer)
> >     'blah
> > End Sub
>
> > I can call the function no problem with two variables
>
> > Dim myvals() As Integer = {var1, var2}
> > MyGroups(myvals)
>
> > Is there a way to do this in one line like so
> > MyGroups( {var1, var2})
>
> > Ive tried various ways and searched for different approaches but cant
> > seem to find one that does it in one line.
>
>   MyGroups(New Integer() {var1, var2})
>
> Alternatively, if possible, you can declare a ParamArray:
>
>    Private Sub MyGroups(ByVal ParamArray grpVals() As Integer)
>
> Call:
>
>   MyGroups(var1, var2)
>   MyGroups(myvals)
>
> --
> Armin

Ahhh that works, thanks for the tip.

AGP