Routine in Visual BasicProcedures in Visual Basic

Oggetto routine è un blocco di Visual Basic istruzioni racchiuse tra un'istruzione di dichiarazione (Function, Sub, Operator, Get, Set) e un corrispondente End dichiarazione.A procedure is a block of Visual Basic statements enclosed by a declaration statement (Function, Sub, Operator, Get, Set) and a matching End declaration. Le istruzioni eseguibili in Visual Basic devono trovarsi nella stessa routine.All executable statements in Visual Basic must be within some procedure.

Chiamata di una routineCalling a Procedure

Una routine viene richiamata da altre parti del codice.You invoke a procedure from some other place in the code. Questa operazione è nota come chiamata di routine.This is known as a procedure call. Al termine dell'esecuzione della routine, il controllo viene restituito al codice che ha richiamato la routine, noto come codice chiamante.When the procedure is finished running, it returns control to the code that invoked it, which is known as the calling code. Il codice chiamante è un'istruzione o un'espressione all'interno di un'istruzione, che specifica la routine tramite nome e le trasferisce il controllo.The calling code is a statement, or an expression within a statement, that specifies the procedure by name and transfers control to it.

Termine di una routineReturning from a Procedure

Una routine restituisce il controllo al codice chiamante al termine della sua esecuzione.A procedure returns control to the calling code when it has finished running. A tale scopo, è possibile usare un'istruzione Return, l'istruzione Exit appropriata per la routine o l'istruzione End <parola chiave> della routine.To do this, it can use a Return Statement, the appropriate Exit Statement statement for the procedure, or the procedure's End <keyword> Statement statement. Il controllo passa quindi al codice chiamante che segue il punto della chiamata di routine.Control then passes to the calling code following the point of the procedure call.

  • Con un'istruzione Return, il controllo ritorna immediatamente al codice chiamante.With a Return statement, control returns immediately to the calling code. Le istruzioni che seguono l'istruzione Return non vengono eseguite.Statements following the Return statement do not run. Una routine può includere più di un'istruzione Return.You can have more than one Return statement in the same procedure.

  • Con un'istruzione Exit Sub o Exit Function, il controllo ritorna immediatamente al codice chiamante.With an Exit Sub or Exit Function statement, control returns immediately to the calling code. Le istruzioni che seguono l'istruzione Exit non vengono eseguite.Statements following the Exit statement do not run. Una routine può includere più di un'istruzione Exit ed è possibile combinare istruzioni Return e Exit nella stessa routine.You can have more than one Exit statement in the same procedure, and you can mix Return and Exit statements in the same procedure.

  • Se una routine non contiene istruzioni Return o Exit, termina con un'istruzione End Sub o End Function, End Get o End Set che segue l'ultima istruzione del corpo della routine.If a procedure has no Return or Exit statements, it concludes with an End Sub or End Function, End Get, or End Set statement following the last statement of the procedure body. L'istruzione End restituisce il controllo immediatamente al codice chiamante.The End statement returns control immediately to the calling code. Una routine può contenere solo un'istruzione End.You can have only one End statement in a procedure.

Parametri e argomentiParameters and Arguments

Nella maggior parte dei casi, una routine deve usare dati diversi ogni volta che viene chiamata.In most cases, a procedure needs to operate on different data each time you call it. È possibile passare queste informazioni alla routine come parte della chiamata di routine.You can pass this information to the procedure as part of the procedure call. La routine definisce zero o più parametri, ognuno dei quali rappresenta un valore necessario da passare alla routine.The procedure defines zero or more parameters, each of which represents a value it expects you to pass to it. A ogni parametro della definizione della routine corrisponde un argomento nella chiamata di routine.Corresponding to each parameter in the procedure definition is an argument in the procedure call. Un argomento rappresenta il valore passato al parametro corrispondente in una chiamata di routine specifica.An argument represents the value you pass to the corresponding parameter in a given procedure call.

Tipi di routineTypes of Procedures

Visual Basic Usa diversi tipi di routine:Visual Basic uses several types of procedures:

  • Le routine Sub eseguono operazioni ma non restituiscono un valore al codice chiamante.Sub Procedures perform actions but do not return a value to the calling code.

  • Le routine di gestione degli eventi sono routine Sub eseguite in risposta a un evento generato da un'azione utente o da un'occorrenza in un programma.Event-handling procedures are Sub procedures that execute in response to an event raised by user action or by an occurrence in a program.

  • Le routine Function restituiscono un valore al codice chiamante.Function Procedures return a value to the calling code. Possono eseguire altre azioni prima della restituzione del valore.They can perform other actions before returning.

    Alcune funzioni scritte in C# restituiscono un valore di riferimento restituito.Some functions written in C# return a reference return value. I chiamanti delle routine Function possono modificare il valore restituito e questa modifica si riflette nello stato dell'oggetto chiamato.Function callers can modify the return value, and this modification is reflected in the state of the called object. A partire da Visual Basic 2017, il codice di Visual Basic può usare valori di riferimento restituiti, anche se non può restituire un valore in base al riferimento.Starting with Visual Basic 2017, Visual Basic code can consume reference return values, although it cannot return a value by reference. Per altre informazioni, vedere Valori di riferimento restituiti.For more information, see Reference return values.

  • Le routine Property restituiscono e assegnano valori di proprietà su oggetti o moduli.Property Procedures return and assign values of properties on objects or modules.

  • Le routine Operator definiscono il comportamento di un operatore standard quando uno o entrambi gli operandi sono una struttura o classe appena definita.Operator Procedures define the behavior of a standard operator when one or both of the operands is a newly-defined class or structure.

  • Le routine generiche in Visual Basic definiscono uno o più parametri di tipo oltre i relativi parametri normali, per cui il codice chiamante può passare tipi di dati specifici ogni volta che esegue una chiamata.Generic Procedures in Visual Basic define one or more type parameters in addition to their normal parameters, so the calling code can pass specific data types each time it makes a call.

Routine e codice strutturatoProcedures and Structured Code

Ogni riga di codice eseguibile nell'applicazione deve essere incluso all'interno di una routine, ad esempio Main, calculate o Button1_Click.Every line of executable code in your application must be inside some procedure, such as Main, calculate, or Button1_Click. Se si suddividono le routine di grandi dimensioni in piccole routine, l'applicazione risulta più leggibile.If you subdivide large procedures into smaller ones, your application is more readable.

Le routine sono utili per eseguire attività ripetute o condivise, ad esempio calcoli usati frequentemente, modifica di testo e di controllo e operazioni su database.Procedures are useful for performing repeated or shared tasks, such as frequently used calculations, text and control manipulation, and database operations. È possibile chiamare una routine da diversi punti del codice, per cui è possibile usare routine come blocchi predefiniti per l'applicazione.You can call a procedure from many different places in your code, so you can use procedures as building blocks for your application.

La strutturazione del codice con routine offre i vantaggi seguenti:Structuring your code with procedures gives you the following benefits:

  • Le routine consentono di dividere i programmi in unità logiche distinte.Procedures allow you to break your programs into discrete logical units. È possibile eseguire più facilmente il debug di unità separate, piuttosto che eseguire il debug di un intero programma senza routine.You can debug separate units more easily than you can debug an entire program without procedures.

  • Dopo aver sviluppato le routine da usare in un programma, è possibile usarle in altri programmi, spesso senza modificarle o apportando modifiche minime.After you develop procedures for use in one program, you can use them in other programs, often with little or no modification. Questo consente di evitare la duplicazione del codice.This helps you avoid code duplication.

Vedere ancheSee also