Junior
K akému typu patrí reťazec v C#: k referenčnému (Reference) alebo k hodnotovému (Value)?
sobes.tech AI
Odpoveď od AI
Reťazec (string) v C# odkazuje na referenčné typy.
Hoci reťazce majú niektoré vlastnosti hodnôt (napríklad správanie pri porovnávaní), ich ukladanie a správa v pamäti sa vykonáva ako pre referenčné typy. Deklarácia premennej typu string alokuje pamäť na zásobníku na uloženie odkazu, zatiaľ čo samotný reťazec je uložený na spravovanom halde.
Kľúčovou vlastnosťou referenčných typov je možnosť mať hodnotu null, čo platí aj pre reťazce.
Nezmeniteľnosť reťazcov (nepremeniteľnosť po vytvorení) je vlastnosť implementácie a nemení ich základnú príslušnosť k referenčným typom.