Cosa sono
Le strutture nel VB.NET non sono altro che l’ equivalente delle variabili personalizzate nel VB6 (per chi le conosce). Queste permettono di immagazzinare dati a seconda dell’ esigenza, ma si può capire meglio con un esempio pratico.
Mettiamo di volere memorizzare dei dati in tre variabili riguardanti lo stesso argomento:
CODICE
Dim MioNome As String
Dim MiaEtà As Integer
Dim MiaAbitazione As Integer
MioNome = “Michelangelo”
MiaEtà = 15
MiaAbitazione = “Via Fasulla 123”
Non sarebbe più comodo fare tutto questo con un unica variabile?
Dichiarazione
La sintassi per la dichiarazione è:
CODICE
Structure Struttura
Elemento1 As Tipo
Elemento2 As Tipo
Elemento3 As Tipo
End Structure
Può essere privata (Private Structure) e dichiarata nella classe del form, o pubblica (Public Structure) ed essere dichiarata in un modulo o fuori dalla classe del form.
Come si può notare, all’ interno della struttura sono dichiarate delle variabili, che vanno a formare gli elementi della struttura. I tipi di questi elementi possono anche essere diversi, e gli elementi possono essere quanti si vuole. Per applicarlo al nostro esempio:
CODICE
Public Structure Io
MioNome As String
MiaEtà As Integer
MiaAbitazione As String
End Structure
Ora che abbiamo imparato a dichiarare una struttura, passiamo all’ utilizzo.
Utilizzo
Come si utilizza una struttura? Abbiamo visto che equivale alle variabili personalizzate di VB6, è il nome spiega da sè: sono un nuovo tipo di variabile, che viene utilizzato nel dimensionato di una di queste:
CODICE
Dim Variabile As Struttura
Nel nostro caso:
CODICE
Dim Persona As Io
Dopodichè, per richiamare gli elementi sarà sufficiente fare come con gli oggetti:
CODICE
Variabile.Elemento
Mettiamo che io voglia mettere le mie informazioni in delle texbox al caricamento del form. Presto fatto:
CODICE
Private Sub Form_Load()
Dim Persona As Io
Persona.MioNome = “Michelangelo”
Persona.MiaEtà = 15
Persona.MiaAbitazione = “Via Fasulla 123”
ShowInfo(txtNome, txtEtà, txtAbitazione)
End Sub
Dove ShowInfo() è una routine precedentemente dichiarata:
CODICE
Private Sub ShowInfo(Nome As Texbox, Età As Textbox, Abitazione As Textbox)
Nome.Text = Persona.MioNome
Età.Text = Persona.MiaEtà
Abitazione.Text = Persona.MiaAbitazione
End Sub
Ciò può essere anche fatto con With:
CODICE
With Persona
.MioNome = “Michelangelo”
.MiaEtà = 15
.MiaAbitazione = “Via Fasulla 123”
End With