Как правильно конвертировать один тип данных в другой
Всем привет, только недавно начал изучать C#. И мне не дает покоя конвертация типа данных, сейчас покажу свой пример, и что я хочу сделать. Подскажите, у меня не выходит. Я не могу идти далее, так как не дает покоя данная тема.
string age = "15"; // Вот я объявляю строковую переменную, и вкладываю в неё 15.
int klick = 10; // Также объявил переменную и вложил в неё число 10.
klick = Convert.ToInt32(age); // Тут я не знаю, как эти 15 с переменной age конвертировать в int, что бы потом прибавить 15 + 10. Я ожидаю получить 25.
int i = age + klick; // Ну здесь я пытаюсь произвести сложения переменной строкового типа данных и int, надеясь на то, что строковый переобразовался в int.
Console.WriteLine(i); - Ну здесь собственно вывожу на экран это "чудо".
Ребят, повторюсь ещё раз, я учу с самого нуля, и на основе полученных знаний, я постарался сделать свой пример, и почему-то он не работает, помогите, буду благодарен, всем добра.
Ответы (2 шт):
Я думаю вы хотели сделать что то вроде такого?
string age = "15";
int klick = 10;
// оператор присваивания, заменен на оператор сложения с присваиванием.
klick += Convert.ToInt32(age);
Console.WriteLine("{0:D}", klick);
У вас определены две переменные: string age и int klick.
Изначально они инициализированы как "15" и 10 соответственно, а далее вы пишите такую строчку:
klick = Convert.ToInt32(age);
этим вы присваиваете переменной int klick, конвертированную из строки "15", число 15. Тем самым вы затираете число 10. Чтобы получить 25 вам нужно писать так:
string age = "15";
int klick = 10;
klick = klick + Convert.ToInt32(age); // или klick += Convert.ToInt32(age);
Или сохранить результат конвертации в переменную i и потом сложить её вместе с int klick например вот так:
string age = "15";
int klick = 10;
int i = Convert.ToInt32(age); //Сохраним результат конвертации
klick = klick + i; // или klick += i;
Вы попытались переменной i присвоить примерно такое: int = string + int. Что не позволительно. Для того чтобы привести тип string к типу int как раз и используют функцию Convert.ToInt32. Она принимает в себя string (одна из перегрузок этой функции), а возвращает int.