Share via


Raccomandazioni sull'aggiornamento: evitare l'impiego di matrici e di stringhe a lunghezza fissa in tipi definiti dall'utente

Aggiornamento: novembre 2007

In seguito alle modifiche apportate, che garantiscono la completa compatibilità delle matrici e delle strutture di Visual Basic 2008 (note in precedenza come tipi definiti dall'utente) con altri linguaggi di Visual Studio, le stringhe a lunghezza fissa non sono più supportate. Nella maggior parte dei casi ciò non costituisce un problema, in quanto esiste una classe di compatibilità che fornisce il comportamento delle stringhe a lunghezza fissa; pertanto il codice seguente:

Dim FixedLengthString As String * 100

viene aggiornato in:

Dim FixedLengthString As New VB6.FixedLengthString(100)

Le stringhe a lunghezza fissa rappresentano tuttavia un problema quando sono utilizzate nelle strutture, perché la classe delle stringhe a larghezza fissa non viene creata automaticamente con la creazione della struttura. Allo stesso modo, anche le matrici di dimensione fissa non vengono create contemporaneamente alla creazione della struttura.

Quando si aggiorna il codice, i tipi definiti dall'utente con stringhe o matrici a lunghezza fissa verranno convertiti in strutture e accompagnati da un commento che invita a inizializzare la stringa o la matrice a lunghezza fissa prima di fare riferimento alla struttura nel codice. È possibile evitare questa modifica cambiando i tipi definiti dall'utente di Visual Basic 6.0 in modo da utilizzare le stringhe invece delle stringhe a lunghezza fissa e le matrici non inizializzate invece di quelle a dimensione fissa. Di seguito è riportato un esempio:

Private Type uType
    anArray(5) As Integer
    aFixedString As String * 100
End Type
Sub SomeFunction()
    Dim aVariable As uType
End Sub

può essere modificato in:

Private Type uType
    anArray() As Integer
    aFixedString As String
End Type
Sub SomeFunction()
    Dim aVariable As uType
    ReDim aVariable.anArray(5) As Integer
    aVariable.aFixedString = String$(100, " ")
End Sub

Vedere anche

Altre risorse

Raccomandazioni relative al linguaggio in funzione dell'aggiornamento