Sobes.tech
Junior

Ce sunt tipurile de date de referință în C# și care sunt caracteristicile lor?

sobes.tech AI

Răspuns de la AI

Tipurile de date de referință stochează referințe către obiecte în heap. Variabilele de tip referință conțin adresa în memorie unde se află obiectul în sine.

Caracteristici:

  • Transmiterea prin referință: Atribuirea valorii unei variabile de tip referință unei alte variabile de același tip determină ca ambele să indice același obiect în memorie.
  • Gestionarea memoriei: Obiectele de tip referință sunt plasate în heap-ul gestionat. Colectorul de gunoi eliberează automat memoria ocupată de obiectele pentru care nu mai există referințe.
  • Valoarea implicită: Valoarea implicită pentru tipul de referință este null.
  • Moștenire și polimorfism: Tipurile de referință suportă moștenirea, ceea ce permite crearea de ierarhii de clase și utilizarea polimorfismului.
  • Comparare: Operatorul == compară implicit referințele, nu conținutul obiectelor.

Exemple:

  • Clase (class)
  • Interfețe (interface)
  • Delegați (delegate)
  • Array-uri (array)
  • Șiruri (string) (deși string este un tip de referință imutabil)
// Exemplu de tip de referință Class1
public class Class1
{
    public int Value { get; set; }
}

// Crearea unei instanțe de Class1
Class1 obj1 = new Class1 { Value = 10 };

// Atribuirea referinței
Class1 obj2 = obj1;

// Modificarea valorii prin obj2 afectează obj1
obj2.Value = 20;

// Acum, obj1.Value este egal cu 20
System.Console.WriteLine(obj1.Value);