Dichiarazione di variabili in Visual BasicVariable Declaration in Visual Basic

Viene dichiarata una variabile per specificarne il nome e le caratteristiche.You declare a variable to specify its name and characteristics. L'istruzione di dichiarazione per le variabili è l' istruzione Dim.The declaration statement for variables is the Dim Statement. La posizione e il contenuto determinano le caratteristiche della variabile.Its location and contents determine the variable's characteristics.

Per le regole di denominazione delle variabili e le considerazioni, vedere nomi di elementi dichiarati.For variable naming rules and considerations, see Declared Element Names.

Livelli di dichiarazioneDeclaration Levels

Variabili locali e membroLocal and Member Variables

Una variabile locale è una variabile dichiarata all'interno di una routine.A local variable is one that is declared within a procedure. Una variabile membro è un membro di un tipo di Visual Basic; viene dichiarata a livello di modulo, all'interno di una classe, di una struttura o di un modulo, ma non all'interno di alcuna routine interna alla classe, alla struttura o al modulo.A member variable is a member of a Visual Basic type; it is declared at module level, inside a class, structure, or module, but not within any procedure internal to that class, structure, or module.

Variabili condivise e di istanzaShared and Instance Variables

In una classe o in una struttura, la categoria di una variabile membro dipende dall'eventuale condivisione o meno.In a class or structure, the category of a member variable depends on whether or not it is shared. Se viene dichiarata con la parola chiave Shared , si tratta di una variabile condivisa ed è presente in una singola copia condivisa tra tutte le istanze della classe o della struttura.If it is declared with the Shared keyword, it is a shared variable, and it exists in a single copy shared among all instances of the class or structure.

In caso contrario, si tratta di una variabile di istanza e ne viene creata una copia separata per ogni istanza della classe o della struttura.Otherwise it is an instance variable, and a separate copy of it is created for each instance of the class or structure. Una determinata copia di una variabile di istanza è disponibile solo per l'istanza della classe o della struttura in cui è stata creata.A given copy of an instance variable is available only to the instance of the class or structure in which it was created. È indipendente da una copia della variabile di istanza in qualsiasi altra istanza della classe o della struttura.It is independent of a copy of the instance variable in any other instance of the class or structure.

Dichiarazione del tipo di datiDeclaring Data Type

La clausola As nell'istruzione Declaration consente di definire il tipo di dati o il tipo di oggetto della variabile che si sta dichiarando.The As clause in the declaration statement allows you to define the data type or object type of the variable you are declaring. Per una variabile è possibile specificare uno dei tipi seguenti:You can specify any of the following types for a variable:

  • Tipo di dati Elementary, ad esempio Boolean , Long o DecimalAn elementary data type, such as Boolean, Long, or Decimal

  • Tipo di dati composito, ad esempio una matrice o una strutturaA composite data type, such as an array or structure

  • Tipo di oggetto, o classe, definito nell'applicazione o in un'altra applicazioneAn object type, or class, defined either in your application or in another application

  • Classe .NET Framework, ad esempio Label o TextBoxA .NET Framework class, such as Label or TextBox

  • Un tipo di interfaccia, ad esempio IComparable o IDisposableAn interface type, such as IComparable or IDisposable

È possibile dichiarare diverse variabili in un'unica istruzione senza dover ripetere il tipo di dati.You can declare several variables in one statement without having to repeat the data type. Nelle istruzioni seguenti le variabili i , j e k vengono dichiarate come tipo e Integer l come e m Long x e y come Single :In the following statements, the variables i, j, and k are declared as type Integer, l and m as Long, and x and y as Single:

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

Per ulteriori informazioni sui tipi di dati, vedere tipi di dati.For more information on data types, see Data Types. Per ulteriori informazioni sugli oggetti, vedere oggetti e classi e programmazione con i componenti.For more information on objects, see Objects and Classes and Programming with Components.

Inferenza del tipo di variabile localeLocal Type Inference

L' inferenza del tipo viene utilizzata per determinare i tipi di dati delle variabili locali dichiarate senza una As clausola.Type inference is used to determine the data types of local variables declared without an As clause. Il compilatore deduce il tipo della variabile dal tipo dell'espressione di inizializzazione.The compiler infers the type of the variable from the type of the initialization expression. Ciò consente di dichiarare le variabili senza indicare esplicitamente un tipo.This enables you to declare variables without explicitly stating a type. Nell'esempio seguente, sia num1 che num2 sono fortemente tipizzati come numeri interi.In the following example, both num1 and num2 are strongly typed as integers.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

Se si desidera utilizzare l'inferenza del tipo locale, Option Infer deve essere impostato su On .If you want to use local type inference, Option Infer must be set to On. Per altre informazioni, vedere Local Type Inference (Inferenza del tipo di variabile locale) e Option Infer Statement (Istruzione Option Infer).For more information, see Local Type Inference and Option Infer Statement.

Caratteristiche delle variabili dichiarateCharacteristics of Declared Variables

La durata di una variabile è il periodo di tempo durante il quale è disponibile per l'utilizzo.The lifetime of a variable is the period of time during which it is available for use. In generale, esiste una variabile purché l'elemento che lo dichiara, ad esempio una routine o una classe, continui a esistere.In general, a variable exists as long as the element that declares it (such as a procedure or class) continues to exist. Se non è necessario che la variabile continui a esistere oltre la durata dell'elemento che lo contiene, non è necessario eseguire alcuna operazione speciale nella dichiarazione.If the variable does not need to continue existing beyond the lifetime of its containing element, you do not need to do anything special in the declaration. Se la variabile deve continuare a esistere più a lungo rispetto all'elemento che lo contiene, è possibile includere la Static Shared parola chiave o nella relativa Dim istruzione.If the variable needs to continue to exist longer than its containing element, you can include the Static or Shared keyword in its Dim statement. Per ulteriori informazioni, vedere Lifetime in Visual Basic.For more information, see Lifetime in Visual Basic.

L' ambito di una variabile è il set di tutto il codice che può farvi riferimento senza qualificare il nome.The scope of a variable is the set of all code that can refer to it without qualifying its name. L'ambito di una variabile è determinato dalla posizione in cui viene dichiarata.A variable's scope is determined by where it is declared. Il codice che si trova in una determinata area può usare le variabili definite in tale area senza che sia necessario qualificarne i nomi.Code located in a given region can use the variables defined in that region without having to qualify their names. Per altre informazioni, vedere Scope in Visual Basic.For more information, see Scope in Visual Basic.

Il livello di accesso di una variabile è l'ambito del codice che dispone dell'autorizzazione per accedervi.A variable's access level is the extent of code that has permission to access it. Questa operazione è determinata dal modificatore di accesso (ad esempio public o private) usato nell' Dim istruzione.This is determined by the access modifier (such as Public or Private) that you use in the Dim statement. Per altre informazioni, vedere livelli di accesso in Visual Basic.For more information, see Access levels in Visual Basic.

Vedi ancheSee also