30.07.2013 Views

Visual Basic.NET How to Program (PDF)

Visual Basic.NET How to Program (PDF)

Visual Basic.NET How to Program (PDF)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 7 Arrays 287<br />

7.10 Variable-Length Parameter Lists<br />

It is possible <strong>to</strong> create procedures that receive a variable number of arguments, using keyword<br />

ParamArray. The program in Fig. 7.18 calls programmer-defined procedure<br />

AnyNumberArguments three times, passing a different number of values each time.<br />

The values passed in<strong>to</strong> procedure AnyNumberArguments are s<strong>to</strong>red in one-dimensional<br />

Integer array array1, which is declared using ParamArray.<br />

Common <strong>Program</strong>ming Error 7.4<br />

Attempting <strong>to</strong> declare a parameter variable <strong>to</strong> the right of the ParamArray array variable<br />

is a syntax error. 7.4<br />

Common <strong>Program</strong>ming Error 7.5<br />

Attempting <strong>to</strong> use ParamArray with a multidimensional array is a syntax error. 7.5<br />

1 ' Fig. 7.18: ParamArrayTest.vb<br />

2 ' Using ParamArray <strong>to</strong> create variable-length parameter lists.<br />

3<br />

4 Module modParamArrayTest<br />

5<br />

6 Sub Main()<br />

7 AnyNumberArguments()<br />

8 AnyNumberArguments(2, 3)<br />

9 AnyNumberArguments(7, 8, 9, 10, 11, 12)<br />

10<br />

11 End Sub ' Main<br />

12<br />

13 ' receives any number of arguments in array<br />

14 Sub AnyNumberArguments(ByVal ParamArray array1 _<br />

15 As Integer())<br />

16<br />

17 Dim i, <strong>to</strong>tal As Integer<br />

18 <strong>to</strong>tal = 0<br />

19<br />

20 If array1.Length = 0 Then<br />

21 Console.WriteLine("Procedure AnyNumberArguments" & _<br />

22 " received 0 arguments.")<br />

23 Else<br />

24 Console.Write("The <strong>to</strong>tal of ")<br />

25<br />

26 For i = 0 To array1.GetUpperBound(0)<br />

27 Console.Write(array1(i) & " ")<br />

28 <strong>to</strong>tal += array1(i)<br />

29 Next<br />

30<br />

31 Console.WriteLine("is {0}.", <strong>to</strong>tal)<br />

32 End If<br />

33<br />

34 End Sub ' AnyNumberArguments<br />

35<br />

36 End Module ' modParamArrayTest<br />

Fig. Fig. 7.18 7.18 Creating variable-length parameter lists (part 1 of 2).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!