Другие языки программирования и технологии
Язык программирования C#
Здравствуйте, почему в Console.WriteLine(2+ " " + 10 + 1024); выводит 2 101024, а не 2 1034? Это же не строка. По идее 10 1024 должны суммироваться.
а если так?
Console.WriteLine(2+ " " + (10 + 1024));
Console.WriteLine(2+ " " + (10 + 1024));
Андрей Инкин
получилось) а почему без скобок оно не складывается?
При сложении со строкой "Операнды, не относящиеся к типу string, автоматически преобразуются в строку вызовом виртуального метода ToString."
Складываешь число 2 со строкой-пробелом - получаешь строку. Складываешь эту строку с числом 10 - оно преобразуется в строку, получаешь строку. Складываешь эту строку с числом 1024 - оно преобразуется в строку, получаешь строку.
Складываешь число 2 со строкой-пробелом - получаешь строку. Складываешь эту строку с числом 10 - оно преобразуется в строку, получаешь строку. Складываешь эту строку с числом 1024 - оно преобразуется в строку, получаешь строку.
там можно и без плюса выводить значения переменных..
Потому что С# это не яваскрипт где можно делать такие убогие конструкции.
Если складываешь числа - объявляй их как числа - целочисленные или дробные.
Если делаешь конкатенацию строк - объявляй строки...
Если складываешь числа - объявляй их как числа - целочисленные или дробные.
Если делаешь конкатенацию строк - объявляй строки...
Ильнур Яруллин
В JS было бы то же самое
пробел в число не канает конвертить, поэтому компилятор конверитит 2 в строку и дальше все приводт к этому типу
Я бы лучше сделал так:
Console.WriteLine("{0} {1}", 2, 10 + 1024);
Console.WriteLine("{0} {1}", 2, 10 + 1024);
Можно и вот так
Console.WriteLine($"{2} {10+1024}");
Console.WriteLine($"{2} {10+1024}");
Потому что, если в сложении чисел участвует хотя бы одна строка (в вашем примере строкой является пустая строка ""), то сложение будет не математическим, а строковым. То есть числа будут складываться как будто они находятся в типе string. Для избежания данной проблемы следует группировать математическое сложение круглыми скобками.
В вашем случае это Console.WriteLine(2+ " " + (10 + 1024));
За подробностями или по другим вопросам можете обратиться в сообщество программистов vk.com/itsmartbrain
Там бесплатно отвечают на вопросы и консультируют по программированию
В вашем случае это Console.WriteLine(2+ " " + (10 + 1024));
За подробностями или по другим вопросам можете обратиться в сообщество программистов vk.com/itsmartbrain
Там бесплатно отвечают на вопросы и консультируют по программированию
Про неявно типизированные переменные в C# можете почитать в этой статье - https://nerolink.ru/article/difference-var-and-dynamic-in-c-sharp/
Похожие вопросы
- Стоит ли изучать язык программирования C++ ?И какое преимущество этого языка? Где он мне пригодится ?
- Основные различия языка программирования C# от С++.
- Вопрос по языку программирования C# (СиШарп) (очень простой вопрос)
- Я учусь в 5 классе и хочу научится языку программирования C++.
- Язык программирования C.
- Язык программирования C#
- Сложно ли будет изучить язык программирования C#?
- Почему язык программирования C++ считается одним из самых сложных языков программирования?
- Умрёт ли язык программирования C++?
- Функции в языке программирования C.