Каковы различия между типами значения и ссылочными типами в C#? [дубликат]

9
задан ACP 10 March 2010 в 06:19
поделиться

2 ответа

Прочтите: Стек - это деталь реализации , и никогда больше не повторяйте утку о том, что распределение стека - это то, что отличает значение типы из ссылочных типов в .NET. CLR может выбрать размещение переменной где угодно.

Наиболее важное различие заключается в семантике присваивания. Когда вы присваиваете тип значения переменной (или передаете его методу в качестве аргумента), все данные копируются. Когда вы назначаете ссылочный тип, копируется только ссылка - обе ссылки указывают на один и тот же экземпляр объекта в памяти.

21
ответ дан 4 December 2019 в 06:26
поделиться

Как упоминалось в блоге Аарона и Эрика:

Помните правило, ссылочные типы всегда отправляются в кучу, тогда как типы значений всегда отправляются туда, где они были объявлены? Если тип значения объявлен вне метода, но внутри ссылочного типа, он будет помещен в кучу внутри ссылочного типа.

2
ответ дан 4 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: