Junior — Middle
Čime se razlikuju referentni tipovi podataka od tipova vrednosti u programiranju?
sobes.tech АИ
Одговор од АИ
U C#-u, tipovi podataka se dele na vrednosne (value types) i referentne (reference types).
Vrednosni tipovi direktno čuvaju podatke. Pri dodeljivanju ili prosleđivanju u metodu, kopira se sama vrednost. Primeri: int, double, struct, bool.
Referentni tipovi čuvaju referencu na memorijsku oblast gde se nalaze podaci. Pri dodeljivanju, kopira se referenca, a ne podaci, tako da više promenljivih može ukazivati na isti objekat. Primeri: class, string, array.
Primer:
int a = 5;
int b = a; // kopira se vrednost 5
b = 10;
// a i dalje ostaje 5
class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // kopira se referenca
p2.Name = "Bob";
// p1.Name sada je "Bob"
Glavna razlika je u načinu skladištenja i kopiranja podataka: vrednosni tipovi kopiraju vrednosti, referentni tipovi kopiraju reference na objekte.