27 / 0 / 1
Регистрация: 01.06.2017
Сообщений: 128
1

Преобразование типов

21.05.2018, 17:20. Показов 915. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему работает данный код??? Разве существует неявное преобразование int (переменная х) в string???
Т. е. сначала происходит преобразование переменной х из int в string, а затем конкатенация х + "" ?

C#
1
2
int x = 5;
string res = x + "";
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2018, 17:20
Ответы с готовыми решениями:

Преобразование типов
Я унаследовал стандартный класс Socket в своем классе ASock. Вопрос о приведение типа Socket к...

Преобразование типов
Как преобазовывать(копировать) ListBox.lines в List<string> Description = new List<string>(); и...

Преобразование типов
Подскажите как в c# с массивом int можно поработать как с массивом byte; Как в с++, например, int...

Преобразование типов
Код: using System; using System.Text; public class Program { public static void...

5
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
21.05.2018, 17:36 2
Цитата Сообщение от IrenaIT Посмотреть сообщение
Почему работает данный код???
Потому что оператор "+" для строки перегружен.

Цитата Сообщение от IrenaIT Посмотреть сообщение
Разве существует неявное преобразование int (переменная х) в string???
Нет. Такой код, к примеру, не скомпилируется:
C#
1
2
int x = 5;
string res = x;
Цитата Сообщение от IrenaIT Посмотреть сообщение
Т. е. сначала происходит преобразование переменной х из int в string, а затем конкатенация х + "" ?
Да.
0
671 / 474 / 215
Регистрация: 06.09.2013
Сообщений: 1,301
21.05.2018, 17:37 3
Лучший ответ Сообщение было отмечено IrenaIT как решение

Решение

Цитата Сообщение от IrenaIT Посмотреть сообщение
Разве существует неявное преобразование int (переменная х) в string
Нет, скорее всего, метод конкатенации принимает в качестве параметров ссылки на Object и вызывает виртуальный метод ToString(), а потом уже конкатенирует полученные строки.
1
170 / 91 / 71
Регистрация: 10.05.2014
Сообщений: 432
21.05.2018, 17:42 4
woldemas, о чем я и написал автору в предыдущем её посте
0
27 / 0 / 1
Регистрация: 01.06.2017
Сообщений: 128
21.05.2018, 18:28  [ТС] 5
Потому что оператор "+" для строки перегружен. Спасибо. теперь стало понятно
0
Эксперт .NET
11883 / 8203 / 1252
Регистрация: 21.01.2016
Сообщений: 30,857
21.05.2018, 18:34 6
IrenaIT, оператор + тут не причём. В посте №3 корректный ответ.
0
21.05.2018, 18:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2018, 18:34
Помогаю со студенческими работами здесь

Преобразование типов
подскажите как преобразовать правильно значение стринг в булеан мой пример: namespace...

Преобразование типов
Всем привет. Переношу код из сишной реализации в проект на C#. Есть функция подсчета CRC, при ее...

Преобразование типов
Почему компилятор такое выражение допускает: byte b = 10; b *= b; А вот такое нет: byte b...

Преобразование типов
Всем привет есть вопросы по преобразованию типов точнее даже не знаю относиться ли эта проблема к...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru