Как правильно организовать проверку пользовательского ввода в консольной программе C#

Всем доброго времени суток. Скажите, как правильно организовать проверку пользовательского ввода в консоль по примеру имени. Предположим, что-бы нельзя было вводить символы по типу !"№;%%:?* и т.д. а также цифры, автоматически первая буква делалась с верхним регистром, имя не более 30 символов. В случае неправильного ввода указывалась причина отказа и предлогалась ввести имя заново.


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

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

Не забудь подключить Linq в свой проект

    static bool _flag;
    static char[] symbols = { '#', '@', '№' }; //Запрещенные символы
    static int size = 30; // Минимальная длина сообщения

    static bool Check_correctly(string text)
    {
        if (text.Length < size){
            Console.WriteLine("Размер сообщения слишком мал");
            return true;
        }

        bool check = text.Where(symb => symbols.Contains(symb)).ToArray().Length > 0;

        if (check){
            Console.WriteLine("Неверно введено сообщение");
            return true;
        }
        else return false;
    }

    static void Main(string[] args)
    {
        do
            _flag = Check_correctly(Console.ReadLine());
        while (_flag);

        Console.WriteLine("Все хорошо, проходите дальше");
    }
→ Ссылка