Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
In Visual Basic 6.0 è consentito definire i limiti inferiore e superiore delle matrici utilizzando un qualsiasi numero intero. È anche possibile utilizzare l'istruzione ReDim per riassegnare una variabile di tipo variant come matrice. Per attivare l'interoperabilità con altri linguaggi, le matrici di Visual Basic 2008 devono avere un limite inferiore pari a zero e non è possibile utilizzare l'istruzione ReDim a meno che la variabile della matrice non sia stata dichiarata in precedenza con la parola chiave Dim. Sebbene il modo di definire le matrici risulti limitato, ciò consente di passare le matrici tra Visual Basic 2008 e qualsiasi altro linguaggio .NET Framework. L'esempio seguente evidenzia la limitazione:
'BAD: LBound must be 0
Dim a(1 To 10) As Integer
'BAD: Can't use ReDim without Dim
ReDim v(10)
'OK: Creates an array of 11 integers
Dim b(10) As Integer
'OK: Can ReDim previously Dimed variable
ReDim b(5) As Integer
Un effetto collaterale è la rimozione dell'istruzione Option Base dal linguaggio.
Quando si aggiorna il progetto a Visual Basic 2008, le istruzioni Option Base vengono rimosse dal codice. Se il limite della matrice è pari a zero, la matrice non viene modificata. Se tuttavia il limite è diverso da zero, il limite inferiore viene rimosso e nel codice viene inserito un avviso, come nell'esempio seguente:
Dim a(1 To 10) As Integer
viene modificato in:
' UPGRADE_WARNING: Lower bound of an array was changed from 1 to 0.
Dim a(10) As Integer
In molti casi il codice aggiornato funzionerà come in precedenza. Se tuttavia la logica dell'applicazione si basa su un limite inferiore pari a 1, sarà necessario apportare alcune modifiche. Le istruzioni Dim, ReDim e LBound sono contrassegnate da avvisi per semplificare l'esame delle modifiche.
Per questo motivo si consiglia di utilizzare matrici con limite zero nel codice Visual Basic 6.0, di evitare l'uso dell'istruzione ReDim come dichiarazione di matrice e di non impostare l'istruzione Option Base su 1.
Vedere anche
Altre risorse
Raccomandazioni relative al linguaggio in funzione dell'aggiornamento