Junior — Middle
Da li je struktura u programskom jeziku tip vrednosti ili referentni tip?
sobes.tech АИ
Одговор од АИ
U jeziku C#, struktura (struct) je tip vrednosti (value type), a ne referentni tip.
To znači da prilikom dodele ili prosleđivanja strukture metodi, pravi se kopija svih njenih podataka, a ne prosleđuje se referenca na objekat u memoriji, kao što je slučaj sa klasama (referentni tipovi).
Primer:
struct Point
{
public int X;
public int Y;
}
Point p1 = new Point { X = 1, Y = 2 };
Point p2 = p1; // kreira se kopija p1
p2.X = 10;
// p1.X će ostati 1, jer je p2 kopija
Ovo ponašanje je važno imati u vidu pri projektovanju i optimizaciji aplikacija u C#.