Программа понимает нужное действие только из второго раза (язык C#)

Не давно начал учится C#, захотел проверить свои знания и с огромным трудом додумался до вот такого кода (несколько дней назад начал учить):

Random rand = new Random();

int free;
free = rand.Next(1, 20);
string Cup = "Да";
string Cap = "Нет";

Console.WriteLine("Количество прожетых тобой лет: " + free);
if (Convert.ToString(Console.ReadLine()) == Cup)
{
    Console.WriteLine("Я угадал");
}
if (Convert.ToString(Console.ReadLine()) == Cap)
{
    Console.WriteLine("Блин значит тебе " + free, " лет");
}
Console.ReadKey();

Но если я напечатаю ответ "да" программа поймёт из первого раза, а если ответ "нет" со второго, как это исправить? Не печатайте весь код (можно напечатать частичку, где используется то что вы хотите мне напечатать), я всё так научится хочу чему-то...


Ответы (2 шт):

Автор решения: Pavel Mayorov

Вы написали Console.ReadLine() два раза - вот программа и читает строку из консоли два раза. Используйте переменные, их в язык не просто так добавили.

Кстати, нет никакого смысла преобразовывать строку в строку.

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

Вы можете считывать в переменную введенное значение, а потом сравнивать ее с "Да" и "Нет"

Console.WriteLine("Количество прожетых тобой лет: " + free);
string answer = Console.ReadLine();
if (answer == "Да")
... 
else if (answer == "Нет") 
... 
→ Ссылка