Не понятно откуда появляется ноль в списке

После ввода команды NEXT и BACK в список, в который переходит программа появляется ячейка со значением "0".


        static void Main(string[] args)
        {
            // Все переменные
            List<int> M = new List<int>();
            List<int> N = new List<int>();
            bool inputing = true;
            bool isFirstList = true;
            int i = 777;
            string memory = "";
            string memory1 = "";
            // Введение юзера в курс дела
            Console.WriteLine("Введите число для добавления его в первый массив, NEXT для перехода ко второму массиву, BACK для перехода из второго к первому и STOP для остановки ввода");

            // Запуск цикла
            while (inputing)
            {
                // Считывание ввода пользователя
                string input = Console.ReadLine();
                // Проверка, хочет ли пользователь перейти во второй массив
                if (input == "NEXT")
                {
                    isFirstList = false;

                }

                // Проверка, хочет ли пользователь перейти из второго в первый массив
                else if (input == "BACK")
                {

                    // Проверка, не в первом ли массиве уже пользователь
                    if (isFirstList)
                    {
                        Console.WriteLine("Уже в первом массиве");
                    }
                    // Если не в первом, то перейдет в первый
                    else
                    {
                        isFirstList = true;

                    }

                }
                // Проверка, хочет ли пользователь остановить ввод
                else if (input == "STOP")
                {
                    inputing = false;
                }
                // Попытка узнать, является ли введенный символ числом
                int.TryParse(input, out i);

                if (isFirstList)
                {
                    M.Add(i);
                }
                else
                {
                    N.Add(i);
                }



            }
        }


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

Автор решения: return

Примечание: Изменения в самом низу.

static void Main(string[] args)
{
    // Все переменные
    List<int> M = new List<int>();
    List<int> N = new List<int>();
    bool inputing = true;
    bool isFirstList = true;
    int i = 777;
    string memory = "";
    string memory1 = "";
    // Введение юзера в курс дела
    Console.WriteLine("Введите число для добавления его в первый массив, NEXT для перехода ко второму массиву, BACK для перехода из второго к первому и STOP для остановки ввода");

    // Запуск цикла
    while (inputing)
    {
        // Считывание ввода пользователя
        string input = Console.ReadLine();
        // Проверка, хочет ли пользователь перейти во второй массив
        if (input == "NEXT")
        {
            isFirstList = false;

        }

        // Проверка, хочет ли пользователь перейти из второго в первый массив
        else if (input == "BACK")
        {

            // Проверка, не в первом ли массиве уже пользователь
            if (isFirstList)
            {
                Console.WriteLine("Уже в первом массиве");
            }
            // Если не в первом, то перейдет в первый
            else
            {
                isFirstList = true;

            }

        }
        // Проверка, хочет ли пользователь остановить ввод
        else if (input == "STOP")
        {
            inputing = false;
        }
        // Попытка узнать, является ли введенный символ числом
        else if (int.TryParse(input, out i))
        {
            if (isFirstList)
            {
                M.Add(i);
            }
            else
            {
                N.Add(i);
            }
        }
        else
            Console.WriteLine("Invalid input");
    }
}
→ Ссылка