Sobes.tech
Junior

K jakému typu patří řetězec v C#: k referenčnímu (Reference) nebo hodnotovému (Value)?

sobes.tech AI

Odpověď od AI

Řetězec (string) v C# odkazuje na referenční typy.

Ačkoli řetězce mají některé vlastnosti hodnotových typů (například chování při porovnávání), jejich ukládání a správa v paměti se provádí jako u referenčních typů. Deklarace proměnné typu string alokuje paměť na zásobníku pro uložení odkazu, zatímco samotný řetězec je uložen na spravovaném haldě.

Klíčovou vlastností referenčních typů je možnost mít hodnotu null, což platí i pro řetězce.

Nezměnitelnost řetězců (neměnnost po vytvoření) je vlastnost implementace a nemění jejich základní příslušnost k referenčním typům.