Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
.NET 4.x

Сравнение ссылочных типов

12.03.2014, 22:52. Показов 3800. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
первый случай понятен , без явного приведения мы сравниваем одинаковое значения по разным ссылкам.(будет true)

второй случай тоже понятен, мы явно приводим переменные к типу объект и сравниваем ссылки (будет false)

а вот в третьем случае возникает вопрос .. как? (будет true)

C#
1
2
3
4
5
6
string s1="Hello World!",s2="Hello ",s3="World!";
string s4= s2+s3;
 
Console.WriteLine(s1==s4);
Console.WriteLine((object)s1==(object)s4);
Console.WriteLine((object)s1==(object)"Hello World!");
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2014, 22:52
Ответы с готовыми решениями:

ArrayList для ссылочных типов
Здравствуйте. Правда ли, что при наполнении ArrayList ссылочными типами, то операции boxing/unboxing не выполнятся. Тем самым можно не...

Передача в методы переменных ссылочных типов
Есть класс: class Sample { int i; public Sample(int x) { i = x; } ...

Инициализация ссылочных типов в структурах\классах
Добрый вечер. Заинтересовал следующий вопрос. Как лучше инициализировать поля класса\структуры(для структуры вроде нельзя инициализировать...

2
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
13.03.2014, 00:18
Непонятен сам смысл данных действий...
Если вы сравниваете строки, до для класса string оператор == (и !=) перегружен, и хотя string ссылочный тип, сравниваются содержимое строк, а не ссылки. Но вот к чему тут приведение к object, я не пойму...
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
13.03.2014, 00:26
Цитата Сообщение от Metall_Version Посмотреть сообщение
а вот в третьем случае возникает вопрос .. как? (будет true)
интернирование строк

Добавлено через 3 минуты
для большей ясности
C#
1
2
3
4
5
6
7
8
string s1="Hello World!";
string s2="Hello ";
string s3="World!";
string s4= s2+s3;
 
Console.WriteLine(s1==s4);
Console.WriteLine((object)s1==(object)s4);
Console.WriteLine((object)s1==(object)"Hello World!");
в первой строке строковый литерал "Hello World!" попадает в "кэш" строк, и ссылка на эту строку копируется в s1.
в последней же строке идет сравнение опять того же самого строкового литерала из кэша с ранее инициализированной ссылкой на эту же строку из кэша
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2014, 00:26
Помогаю со студенческими работами здесь

Троелсен, Передача ссылочных типов по значению
class Person { } static void SendAPersonByValue(Person p) //получена копия ссылки на объект из вызывающего кода. { p = new...

Особенность копирования данных для ссылочных типов
Доброго времени суток, всем. Ребят, как определить, что у ссылочного типа есть "особенность" при присваивании такого же типа,...

Почему оператор lock () предназначен только для ссылочных типов?
Почему оператор lock () предназначен для приема только параметров ссылочного типа?

Каким образом выполняется оператор "+" для ссылочных типов, если один из операндов равен null
Вопрос может показаться странным, но все же хотелось бы получить ответ. 1) Каким образом выполняется оператор "+" для...

Сравнение типов
Здравствуйте. Уже час гуглю и ломаю голову над проблемой: нужно сравнить типы, именно типы, на равенство. Суть такова: static public...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru