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