Parametri e argomenti delle routine (Visual Basic)

Nella maggior parte dei casi, una routine richiede alcune informazioni sulle circostanze in cui è stato chiamata. Una routine che esegue attività ripetute o condivise utilizza informazioni diverse per ogni chiamata. Queste informazioni sono costituite da variabili, costanti ed espressioni passate alla routine quando viene chiamata.

Un parametro rappresenta un valore previsto dalla routine quando viene chiamato. La dichiarazione della routine definisce i relativi parametri.

È possibile definire una routine senza parametri, un parametro o più di uno. La parte della definizione della routine che specifica i parametri è denominata elenco dei parametri.

Un argomento rappresenta il valore fornito a un parametro di routine quando si chiama la routine. Il codice chiamante fornisce gli argomenti quando chiama la routine. La parte della chiamata di routine che specifica gli argomenti viene chiamata elenco degli argomenti.

La figura seguente mostra il codice che chiama la routine safeSquareRoot da due posizioni diverse. La prima chiamata passa il valore della variabile x (4.0) al parametro number e il valore restituito in root (2.0) viene assegnato alla variabile y. La seconda chiamata passa il valore letterale 9.0 a number e assegna il valore restituito (3.0) alla variabile z.

Diagram that shows passing an argument to a parameter

Per altre informazioni, vedere Differenze tra parametri e argomenti.

Tipo di dati dei parametri

Definire un tipo di dati per un parametro usando la clausola As nella relativa dichiarazione. Ad esempio, la funzione seguente accetta una stringa e un numero intero.

Function appointment(ByVal day As String, ByVal hour As Integer) As String
    ' Insert code to return any appointment for the given day and time.
    Return "appointment"
End Function

Se l'opzione di controllo del tipo (istruzione Option Strict) è Off, la clausola As è facoltativa, ad eccezione del fatto che se uno dei parametri la usa, tutti i parametri devono usarla. Se il controllo del tipo è On, la clausola As è necessaria per tutti i parametri della routine.

Se il codice chiamante prevede di fornire un argomento con un tipo di dati diverso da quello del parametro corrispondente, ad esempio Byte a un parametro String, deve eseguire una delle operazioni seguenti:

  • Fornire solo argomenti con tipi di dati che supportano la conversione al tipo di dati del parametro.

  • Impostare Option Strict Off per consentire conversioni implicite.

  • Usare una parola chiave di conversione per convertire il tipo di dati in modo esplicito.

Parametri di tipo

Una routine generica definisce anche uno o più parametri di tipo oltre ai parametri normali. Una routine generica consente al codice chiamante di passare tipi di dati diversi ogni volta che chiama la routine, in modo da adattare i tipi di dati ai requisiti di ogni singola chiamata. Vedere Generic Procedures in Visual Basic.

Vedi anche