Junior — Middle
Egy programozási nyelvben a struktúra értéktípus vagy referencia típus?
sobes.tech MI
Válasz az MI-től
C# nyelven a struktúra (struct) érték típus (value type), nem pedig referencia típus.
Ez azt jelenti, hogy amikor egy struktúrát értékül adunk vagy átadunk egy metódusnak, akkor az összes adatának másolatát készítjük, nem pedig a memóriaobjektum hivatkozását, mint ahogy a osztályok (referencia típusok) esetében.
Példa:
struct Point
{
public int X;
public int Y;
}
Point p1 = new Point { X = 1, Y = 2 };
Point p2 = p1; // p1 másolata jön létre
p2.X = 10;
// p1.X továbbra is 1 marad, mivel p2 másolat
Ez a viselkedés fontos szempont a C# alkalmazások tervezése és optimalizálása során.