Pole parametrů (Visual Basic)
Obvykle nelze volat proceduru s více argumentů, než určuje postup prohlášení.Pokud potřebujete neurčitý počet argumentů, můžete deklarovat pole parametru, což umožňuje postupem přijmout matice hodnot parametru.Není nutné znát počet prvků pole parametru při definování postupu.Velikost pole je určen postup každé volání jednotlivě.
Deklarování ParamArray.
Použití ParamArray (Visual Basic) klíčové slovo pro parametr pole v seznamu parametrů.Platí následující pravidla:
Postup lze definovat pouze jeden parametr array a musí být posledním parametrem v seznamu definice procedury.
Pole parametru musí být předán podle hodnoty.Je dobré praxe zahrnout explicitně programování ByVal (Visual Basic) klíčové slovo v definici postup.
Parametr pole je automaticky volitelné.Výchozí hodnota je prázdná jednorozměrné pole parametru typu prvku.
Všechny parametry předcházející pole parametru musí být požadováno.Pole parametru musí být pouze volitelný parametr.
Volání ParamArray.
Při volání postup, který definuje pole parametru je argument zadat v jednom z následujících způsobů:
Nic –, můžete vynechat ParamArray (Visual Basic) argument.Prázdné pole v tomto případě je předána postupem.Můžete také předat Nothing (Visual Basic) klíčového slova se stejným účinkem.
Seznam libovolný počet argumentů oddělených středníky.Musí být implicitně převést na typ dat jednotlivých argumentů ParamArray typu prvku.
Pole se stejným typem prvku pole parametru typ prvku.
Ve všech případech kód v rámci postupu zachází jako s prvky stejný typ dat jako jednorozměrné pole parametru ParamArray datového typu.
Poznámka k zabezpečení |
---|
Při řešení matice, které mohou být bez omezení velké riziko překročení některé vnitřní kapacity aplikace již existuje.Pokud přijmete pole parametru, je třeba vyzkoušet velikost pole, které je předáno volající kód.Přijmout vhodná opatření, pokud je příliš velký pro vaše aplikace.Další informace naleznete v tématu Pole v jazyce Visual Basic. |
Příklad
Následující příklad definuje a volá funkci calcSum.ParamArray Modifikátor pro parametr args umožňuje přijímat proměnný počet argumentů funkce.
Module Module1
Sub Main()
' In the following function call, calcSum's local variables
' are assigned the following values: args(0) = 4, args(1) = 3,
' and so on. The displayed sum is 10.
Dim returnedValue As Double = calcSum(4, 3, 2, 1)
Console.WriteLine("Sum: " & returnedValue)
' Parameter args accepts zero or more arguments. The sum
' displayed by the following statements is 0.
returnedValue = calcSum()
Console.WriteLine("Sum: " & returnedValue)
End Sub
Public Function calcSum(ByVal ParamArray args() As Double) As Double
calcSum = 0
If args.Length <= 0 Then Exit Function
For i As Integer = 0 To UBound(args, 1)
calcSum += args(i)
Next i
End Function
End Module
Následující příklad definuje postup s pole parametru a vypíše všechny prvky pole Předaný parametr pole hodnot.
Sub studentScores(ByVal name As String, ByVal ParamArray scores() As String)
Debug.WriteLine("Scores for " & name & ":" & vbCrLf)
' Use UBound to determine largest subscript of the array.
For i As Integer = 0 To UBound(scores, 1)
Debug.WriteLine("Score " & i & ": " & scores(i))
Next i
End Sub
Call studentScores("Anne", "10", "26", "32", "15", "22", "24", "16")
Call studentScores("Mary", "High", "Low", "Average", "High")
Dim JohnScores() As String = {"35", "Absent", "21", "30"}
Call studentScores("John", JohnScores)
Viz také
Referenční dokumentace
Koncepty
Procedury v jazyce Visual Basic
Parametry a argumenty procedury (Visual Basic)
Předávání argumentů podle hodnoty a odkazu (Visual Basic)
Předávání argumentů podle pozice a názvu (Visual Basic)
Volitelné parametry (Visual Basic)
Procedura přetížení (Visual Basic)