Sobes.tech
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#.