Sdílet prostřednictvím


Parametr matice (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 Nic (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í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 Matice 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

Volitelné (Visual Basic)

UBound

Koncepty

Procedury v jazyce Visual Basic

Postup parametry a argumenty (Visual Basic)

Předávání argumentů hodnotou a odkaz (Visual Basic)

Předávání argumentů podle umístění a název (Visual Basic)

Volitelné parametry (Visual Basic)

Řízení přetížení (Visual Basic)

Další zdroje

Matice v jazyce Visual Basic