Маленькая программа с сравнение имен

using System;
using System.Linq;

namespace ConsoleApp96
{
    class Program
    {
        static void Main(string[] args)
        {
            string name1 = InputName();
            int years1 = InputYears();

            string name2 = InputName();
            int years2 = InputYears();

            PrintNameAndYears(name1, years1, 1);
            PrintNameAndYears(name2, years2, 2);

            string nameOld = "";
            if (years1 > years2)
                nameOld = name1;
            else if (years1 < years2)
                nameOld = name2;
            else
                nameOld = "нет";
            string name = "";
            while (name.Trim().Length == 0)
            {
                Console.Write("Введите имя старшего по возрасту, если старшего нет, введите - нет: ");
                name = Console.ReadLine();
            }
            if (name == nameOld)
                Console.WriteLine("Ответ правильный.");
            else
                Console.WriteLine("Ответ неправильный.");
            Console.Write("Старше {0}, разница в возрасте = {1} лет", nameOld, Math.Abs(years1 - years2));
            Console.Read();
        }

        static string InputName()
        {
            string s = "0123456789";
            string name = "";

            while (name.Trim().Length == 0 || name.ToCharArray().Intersect(s.ToCharArray()).Count() > 0 || name.Length < 3 || name.Length > 20)

            {
                Console.Write("Введите правильно имя: ");
                name = Console.ReadLine();
            }
            Console.WriteLine("Добро пожаловать, " + name + "!");
            return name;
        }

        static int InputYears()
        {
            while (true)
            {
                Console.WriteLine("Введите возраст 1-го пользователя");
                bool check = Int32.TryParse(Console.ReadLine(), out int a);
                if (check == false)
                    Console.WriteLine("Возраст не должен содержать буквы ");
                else if (a < 1 || a > 150)
                    Console.WriteLine("Вводите реальный возраст 1-150");
                else
                    return a;
            }
        }

        static void PrintNameAndYears(string name, int years, int count)
        {
            Console.WriteLine("Имя {0}-го человека - {1}", count, name);
            Console.WriteLine("Возраст {0}-го человека - {1}", count, years);
        }
    }
}

Как можно в этот метод записать где код сравнивает имена? Например: Я ввел имя Воля и Павел и их возрасты, а в конце программа спрашивает кто старше, и я ввожу 3 и имя Тима, и он должен говорить что "не правильно, введите имя которое вы ввели выше"


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

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

Пропиши условие

While (name != name1 || name != name2) {
    Console.WriteLine("Введите одно из имен ,которые указали выше");
    name = Console.ReadLine();
}

Upd:используй цикл в таком случае , подправил код

→ Ссылка