Как правильно конвертировать один тип данных в другой

Всем привет, только недавно начал изучать 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 шт):

Автор решения: mik.ov

Я думаю вы хотели сделать что то вроде такого?

string age = "15";
int klick = 10;

// оператор присваивания, заменен на оператор сложения с присваиванием.
klick += Convert.ToInt32(age);

Console.WriteLine("{0:D}", klick);

https://ideone.com/WuMUzU

→ Ссылка
Автор решения: Павел Ериков

У вас определены две переменные: 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.

→ Ссылка