Junior — Middle
Je štruktúra v programovacom jazyku typ hodnoty alebo referenčný typ?
sobes.tech AI
Odpoveď od AI
V jazyku C# je štruktúra (struct) typom hodnoty (value type), nie referenčným typom.
To znamená, že pri priraďovaní alebo odovzdávaní štruktúry do metódy sa vytvorí kópia všetkých jej údajov, a nie odkaz na objekt v pamäti, ako je to pri triedach (referenčné typy).
Príklad:
struct Point
{
public int X;
public int Y;
}
Point p1 = new Point { X = 1, Y = 2 };
Point p2 = p1; // vytvorí sa kópia p1
p2.X = 10;
// p1.X zostane 1, pretože p2 je kópia
Toto správanie je dôležité brať do úvahy pri navrhovaní a optimalizácii aplikácií v C#.