Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для Sayanchik777
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529

Ссылочный тип

29.11.2017, 16:09. Показов 2996. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, сейчас интересуюсь теорией.
Хочу посмотреть на выражение string field = null; чуть по другому.

тип данных String - это оказывается КЛАСС который работает со строками.
А значить создается на куче екземпляр класса String (копия) , а слово field -
является ссылкой на адрес в ОЗУ и этой копии (екземпляру) и присваивается состоянии NULL

вроде и понимаю, но не до конца
Скажите я правильно это понял? может кто то по другому объяснит.

Добавлено через 10 минут
MyClass instance = new MyClass(); - создание экземпяр класса MyClass по сильной ссылке
new MyClass(); - создание экземпяр класса MyClass по слабой ссылке

В чем разница между сильной и слабой ссылками?
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.11.2017, 16:09
Ответы с готовыми решениями:

Указатель на ссылочный тип
Доброго времени суток, не могу разобраться с маленькой проблемой: Имеется класс "Car" (его внутреннее содержимое не важно),...

Тип string, ссылочный или примитивный?
Добрый день. До недавнего времени я считал тип "string" ссылочным. Сомнения в мой разум внесло следующее: - В книге "Герберт...

Ссылочный тип string( использование ref)
Вопрос такой. При передаче методу параметром ссылочный тип( например массив) изменения видны в месте вызова. а почему если передать строку...

25
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,749
16.12.2017, 16:31
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Sayanchik777 Посмотреть сообщение
а если так Button a = Null; то кнопка удаляется на куче а в стеке что происходит?
Так вы просто занулил ссылку.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
16.12.2017, 18:00
Цитата Сообщение от Sayanchik777 Посмотреть сообщение
а ссилка хранится стеке?
Ссылка хранится в переменной, а уж где сама переменная — зависит от времени ее жизни и других факторов: в стеке, в куче или в регистре.
2
 Аватар для Sayanchik777
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529
16.12.2017, 19:18  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Так вы просто занулил ссылку.
а как удалить ссылку?
0
 Аватар для dailydose
671 / 217 / 88
Регистрация: 21.07.2016
Сообщений: 1,036
Записей в блоге: 2
16.12.2017, 22:49
kolorotur,
Цитата Сообщение от kolorotur Посмотреть сообщение
где сама переменная — зависит от времени ее жизни и других факторов: в стеке, в куче или в регистре.
Насколько мне известно в куче хранятся reference type variables, на стеке - value type variables.
А в регистре тогда какие?
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,749
17.12.2017, 07:32
Цитата Сообщение от Sayanchik777 Посмотреть сообщение
а как удалить ссылку?
Никак. Если речь о локальной переменной, то она "удалится" вместе со всем фреймом стёка по выходу из метода. Если речь о поле класса, то останется пустой до удаления самого экземпляра класса. Вас судьба этой переменной волновать не должна.

Добавлено через 31 секунду
Цитата Сообщение от dailydose Посмотреть сообщение
А в регистре тогда какие?
В регистре храняться указатели на ссылочные типы или притивы целиком.
1
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
17.12.2017, 08:43
Цитата Сообщение от dailydose Посмотреть сообщение
Насколько мне известно в куче хранятся reference type variables, на стеке - value type variables.
Если бы это было так, то типы бы назывались стековыми и кучевыми, а не ссылочными и значимыми.
Переменная хранится либо в куче, либо в регистре, либо в стеке — в зависимости от того, может ли компилятор предсказать время ее жизни и нужно ли брать на нее адрес.

Цитата Сообщение от dailydose Посмотреть сообщение
А в регистре тогда какие?
Ссылка или любой значимый тип, размером равным или меньшим размера регистра.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.12.2017, 08:43

Ссылочный тип, возвращать или задавать в методе
Вопрос может показаться странным, но как это обычно делают, допустим у меня есть объект класса WebClient, мне надо ему в отдельном методе...

Как же всё-таки сделать копию Liss<T>, где Т - ссылочный тип (в моем случае -- класс)
class T { int d; DateTime f; public T(int d, DateTIme date = new DateTime()) { d = d; f = date;} } //где-то в Main или в...

Когда следует использовать значимый тип, а когда ссылочный?
Почитал про значимые и ссылочные типы, ознакомился с отличиями между ними, как работают те и другие. Но хотел бы увидеть от...

Получение значения массива через ссылочный индекс
Dictionary&lt;string, string&gt; sT = new Dictionary&lt;string, string&gt;() { {&quot;test&quot;,&quot;test&quot;}, {&quot;test2&quot;,&quot;test&quot;}, };...

Привести один тип к другому. Тип универсальный, параметризируется другими типами
Доброго времени суток! Прошу помощи, что-то туплю. Под вечер или вообще :) Пытаюсь привести один тип к другому. Тип универсальный,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru