Аватар для Sayanchik777
9 / 9 / 6
Регистрация: 09.05.2015
Сообщений: 529

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

29.11.2017, 16:09. Показов 3011. Ответов 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
14731 / 9507 / 1363
Регистрация: 21.01.2016
Сообщений: 35,857
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
14731 / 9507 / 1363
Регистрация: 21.01.2016
Сообщений: 35,857
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru