Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Неявное приведение int к string / 13 сообщений из 13, страница 1 из 1
01.04.2016, 10:26
    #39205780
Фёдор К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
Здравствуйте.

Столкнулся при отладке с такой штукой (см. скриншот).
Пока писал строчку кода, собираясь привести Shop.No .ToString(), но отвлекся и вернувшись, обнаружил, что интеллисенс не подсветил эту "ошибку".

Это меня заинтересовало - решил запустить.
Всё ОК, код работает - в переменной tempResult - слипшиеся номера магазинов.

Просто стало интересно, с каких пор в C# такая фича?
...
Рейтинг: 0 / 0
01.04.2016, 11:38
    #39205848
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
эт не неявное приведение. это просто оператор string.operator +(string left, object right) внутри которого судя по il
Код: c#
1.
2.
3.
 IL_003c: box          [mscorlib]System.Int32
      IL_0041: call         string [mscorlib]System.String::Concat(object, object)
      IL_0046: stloc.1      // te
...
Рейтинг: 0 / 0
01.04.2016, 11:53
    #39205871
Фёдор К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
handmadeFromRuэт не неявное приведение. это просто оператор string.operator +(string left, object right) внутри которого судя по il
Код: c#
1.
2.
3.
 IL_003c: box          [mscorlib]System.Int32
      IL_0041: call         string [mscorlib]System.String::Concat(object, object)
      IL_0046: stloc.1      // te


Я не силен в IL. Всё равно, переменная - строка. Поле - целое. Один чёрт, при конкатенции целое приводится к строке. Иначе бы компилятор не пропустил.

Работает также tempResult += 1 .

Просто я как-то этого не замечал раньше. Хотя кодить не вчера сел. :)
...
Рейтинг: 0 / 0
01.04.2016, 11:56
    #39205878
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
Фёдор К,

ты попробуй вставь судя
Код: c#
1.
2.
3.
4.
5.
6.
7.
private void Some(string o)
{
...
}

int i = 6;
Some(6);


компилятор будет ругаться потому что нет неявного преобразования, в твоем случае оператор + за тебя это делает
...
Рейтинг: 0 / 0
01.04.2016, 12:10
    #39205891
Фёдор К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
handmadeFromRuФёдор К,

ты попробуй вставь судя
Код: c#
1.
2.
3.
4.
5.
6.
7.
private void Some(string o)
{
...
}

int i = 6;
Some(6);


компилятор будет ругаться потому что нет неявного преобразования, в твоем случае оператор + за тебя это делает
Я не понимаю, дружище, что вы хотите сказать (доказать)? Таки приведение есть?

Хотя, ладно - уже не интересно. Проехали.... :)
...
Рейтинг: 0 / 0
01.04.2016, 13:37
    #39206011
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
Фёдор К,

да есть, но внутри оператора явный tostring ) но не чтоб implict) ну эт в моем понимание если что, так что я наверное тут загоняюсь
...
Рейтинг: 0 / 0
02.04.2016, 10:16
    #39206546
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
Фёдор КЯ не понимаю, дружище, что вы хотите сказать (доказать)? Таки приведение есть?

Приведения нет.

s + i

это

operator+ (string s, int i)

Где тут приведение?

А то, что вам кажется значения не имеет.
...
Рейтинг: 0 / 0
02.04.2016, 10:27
    #39206548
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
уехавшемуся
пользуйся StringBuilder
...
Рейтинг: 0 / 0
02.04.2016, 22:47
    #39206733
Фёдор К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
Где-то в степиуехавшемуся
пользуйся StringBuilder
Не волнуйся, где надо, пользуюсь.

В свою очередь советую пользоваться нафтизином и попринимать глицинчик.

Это я к тому, что не зная ситуации нечего давать советы, тем более, что их не спрашивали.
Та переменная только для отладки логики, умник.
...
Рейтинг: 0 / 0
03.04.2016, 00:19
    #39206762
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
Фёдор К,
клинический идиот гыгы
...
Рейтинг: 0 / 0
14.05.2016, 00:08
    #39235651
Фёдор К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
hVosttФёдор КЯ не понимаю, дружище, что вы хотите сказать (доказать)? Таки приведение есть?

Приведения нет.

s + i

это

operator+ (string s, int i)

Где тут приведение?

А то, что вам кажется значения не имеет. - ОК, просто не замечал ранее и не заморачивался перегрузкой оператора.
Как говаривал Шерлок Холмс, что мб Земля и вращается вокруг Солнца, только практического значения это не имеет.
Но, всё равно, спасибо, хотя ... последняя фраза была лишней. Это признак гордыни...

Где-то в степиФёдор К,
клинический идиот гыгы- Полностью согласен, по тебе это заметно...


Не в обиду: многие здесь ребята ... как-бы помягче - охреневшие от чувства собственной зазвиздатости... Не вникают в суть, но их просто прёт на пустом месте.

То бишь - гордыня - один из смертных грехов, однако... Задумайтесь... :)
...
Рейтинг: 0 / 0
14.05.2016, 09:51
    #39235687
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
Фёдор К, а обьяснить можете почему гордыня?

Вам два раза сказали про оператор, Вы явно не поняли. Сказали в третий раз с явным намеком на то, чтобы Вы наконец сфокусировались на том, что Вам говорят.
...
Рейтинг: 0 / 0
15.06.2016, 15:11
    #39256409
Фёдор К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неявное приведение int к string
skyANAФёдор К, а обьяснить можете почему гордыня?

Вам два раза сказали про оператор, Вы явно не поняли. Сказали в третий раз с явным намеком на то, чтобы Вы наконец сфокусировались на том, что Вам говорят.
Конечно могу, ниже.

Попытаюсь Вам объяснить: Да хоть пять раз мне сказали - понятие понял или не понял здесь не применимо.

Насчет сфокусироваться - фиолетово как, где и почему это происходит. Я разве говорил, что это проблема? Это насчет гордыни, раз.

И полемика была лишь в области как сие событие назвать - т.е. в словаре терминов. Один хрен, сишарп, как жестко типизированный язык, не позволяет просто ... э-э-э сочетать, что-ли (опять к терминологии кто-нибудь прицепится) различные типы.
Как осуществляется приведение типов, явно, не явно, оператором или кондуктором - это другой вопрос/тезис.
Только и всего-то! - Это гордыня, два.

Благодарность handmadeFromRu за адекватную дискуссию. Поговорили - ОК, что еще.

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

Вот как-то так, хотя не уверен, что опять правильно довел мысль. :)

ЗЫ: Удивляюсь, как у Вас хватает терпения разжевывать первоклашкам разные проблемки? Я, порой, вопроса и понять-то не могу ...
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Неявное приведение int к string / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]