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