Из-за чего ошибка в if loop'е кода C#?

Добрый день/вечер!
Недавно начал учить самостоятельно C# по книге Head first C# 3d Ed. В одной из задач необходимо было выбрать отрезки кода и вставить вместо пробелов в код программы. Ошибся во втором if loop'е с условием и не пойму почему ответ x>0. Буду рад, если кто-нибудь объяснит. Ниже привожу решение задачи.
Заранее благодарен!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PoolPuzzle
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string result = "";
            Echo e1 = new Echo();
            Echo e2 = new Echo(); // Bonus answer: Echo e2 = e1;
            int x = 0;
            while (x < 4)
            {
                result = result + e1.Hello() + "\n";
                e1.count = e1.count + 1;
                if (x == 3) // Alternate solution: x == 4
                {
                    e2.count = e2.count + 1;
                }
                if (x > 0) // Alternate solution: x < 4
                {
                    e2.count = e2.count + e1.count;
                }
                x = x + 1;
            }
            MessageBox.Show(result + "Count: " + e2.count);
        }
    }
}
  • Вопрос задан
  • 2679 просмотров
Пригласить эксперта
Ответы на вопрос 1
P_Zeger
@P_Zeger Автор вопроса
Окно выдает четыре строки "helloooo..." и высчитывает количество попыток (ответ : 10).
Количество попыток в альтернативном решении равно 24 поскольку второй объект является отражением первого (если я понял верно).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы