Definirea si referirea unei structuri in VB.NET

Structura reprezinta un element de programare similar claselor de obiecte […]. Diferenta consta in faptul ca structurile sunt tipuri valoare, in timp ce clasele de obiecte sunt tipuri referinta.
O variabila de tip valoare este declarata, iar la momentul executiei se aloca spatiu conform tipului de date declarat. Variabila de tip valoare este distrusa atunci cand se paraseste blocul in care a fost definita.

O variabila de tip referinta presupune un proces de definire in doi pasi:

  • declararea variabilei: presupune utilizarea unui tip de date asociat variabilei;
  • instantierea variabilei: creeaza obiectul.

O variabila de tip referinta exista in doua locatii de memorie. Astfel, cand se paraseste blocul in care a fost definita, referinta catre instanta, obiect este distrusa, dar obiectul in sine ramane alocat in memorie.
Structurile sunt utilizate pentru obiecte de dimensiuni reduse si sunt definite intre specificatiile Structure si End Structure.
Aplicatia de mai jos evidentiaza procesul de definire a unei structuri si utilizare a unei variabile de tip structura:

Module Module1
    Structure Persoana
        Dim CNP As String
        Dim Nume As String
        Dim Adresa As String
    End Structure

    Sub Main()
        Dim p As Persoana
        p = New Persoana
        p.CNP = "1801010433012"
        p.Nume = "Popescu Gigel"
        p.Adresa = "Bld. Victoriei nr. 13"

        MsgBox(p.Nume & " are domiciliul " & p.Adresa)
    End Sub
End Module

Campurile definite in structura se acceseaza prin operatorul . care sufixeaza denumirea varibilei de tip structura.
Aplicatia VB.NET creata este de tip Console Application, ceea ce presupune prezenta procedurii Main.