Udostępnij za pośrednictwem


Parameter — Tablice (Visual Basic)

Zwykle nie można wywołać procedurę z argumentami więcej, niż określa procedurę zgłoszenia.Nieokreślona liczba argumentów jest konieczne, można zadeklarować Tablica parametru, który umożliwia procedury zaakceptować tablicę wartości dla parametru.Nie trzeba znać liczbę elementów w tablicy parametr podczas definiowania procedury.Rozmiar tablicy jest ustalana indywidualnie przez każdego wywołania procedury.

Deklarowanie ParamArray.

Za pomocą ParamArray (Visual Basic) słowa kluczowego do oznaczenia Tablica parametru na liście parametrów.Stosuje się następujące zasady:

  • Procedurę można zdefiniować tylko jeden parametr array i musi być ostatnim parametrem w definicji procedury.

  • Tablica parametru muszą być przekazywane przez wartość.Dobrą praktyką włączyć jawnie programowania jest ByVal (Visual Basic) słowa kluczowego w definicji procedury.

  • Tablica parametru jest automatycznie opcjonalne.Jego domyślną wartość jest pusta Jednowymiarowa tablica Tablica parametru typu elementu.

  • Wszystkie parametry poprzedzających Tablica parametru musi być wymagane.Tablica parametru musi być tylko opcjonalny parametr.

Wywołanie ParamArray.

Po wywołaniu procedury, która definiuje Tablica parametru, można podać argument w jednym z następujących sposobów:

  • Nic — to znaczy, można pominąć ParamArray (Visual Basic) argument.W tym przypadku pusta tablica jest przekazywany do procedury.Można również przekazać Nothing (Visual Basic) słowa kluczowego, w tym samym celu.

  • Lista dowolnej liczby argumentów oddzielonych przecinkami.Typ danych każdego argumentu musi być jawnie konwertowany na ParamArray typu elementu.

  • Tablica z tego samego typu element jako tablica parametru typu elementu.

We wszystkich przypadkach, kod w ramach procedury traktuje jako Jednowymiarowa tablica z elementów tego samego typu danych jako tablica parametru ParamArray typu danych.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

W każdym przypadku, gdy można poradzić sobie z tablicy, które mogą być duże przez czas nieokreślony, istnieje ryzyko przekroczenia niektóre wewnętrznych zdolności aplikacji.Jeśli akceptujesz Tablica parametru, należy przetestować dla rozmiaru tablicy, który do niej przekazany kod wywołujący.Należy podjąć właściwe kroki, jeśli jest zbyt duży dla danej aplikacji.Aby uzyskać więcej informacji, zobacz Tablice w Visual Basic.

Przykład

W poniższym przykładzie zdefiniowano i wywołuje funkcję calcSum.ParamArray Modyfikator dla parametru args pozwala akceptować zmienne liczba argumentów funkcji.

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

Poniższy przykład określa procedurę z Tablica parametru i wartości elementów tablicy przekazany do tablicy parametr wyjścia.

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)

Zobacz też

Informacje

Optional (Visual Basic)

UBound

Koncepcje

Procedury w Visual Basic

Parametry i argumenty procedur (Visual Basic)

Przekazywanie argumentów według wartości i według odwołania (Visual Basic)

Przekazywanie argumentów według pozycji i według nazwy (Visual Basic)

Parametry opcjonalne (Visual Basic)

Przeciążanie procedury (Visual Basic)

Inne zasoby

Tablice w Visual Basic