防止用户在 C# 中向字符串变量输入整数

如果我编写以下代码(在 Main 方法中):

Console.Write("First name: ");
student.FirstName = Console.ReadLine();

其中 FirsName 是 Student 类的属性,如何防止用户输入整数字符?这可以使用 try-catch 块来完成吗?


四季花海
浏览 135回答 2
2回答

largeQ

如果您想阻止用户“输入”数字字符,您可以执行以下操作。var value = new StringBuilder();var run = true;while (run){    var inputKey = Console.ReadKey(true);    switch (inputKey.Key)    {        case ConsoleKey.Enter:            run = false;            Console.WriteLine();            break;        case ConsoleKey.Backspace:            value.Append(inputKey.KeyChar);            break;        default:            if (!char.IsDigit(inputKey.KeyChar))                value.Append(inputKey.KeyChar);            Console.Write(inputKey.KeyChar);            break;    }}var name = value.ToString();      

一只斗牛犬

您不是很具体,但是根据您提供的数据,您可以使用以下方法执行以下操作try catch:class Program{    static void Main(string[] args)    {        Student student = new Student();        try        {            Console.Write("First name: ");            student.FirstName = Console.ReadLine();            ValidateMyString(student.FirstName);            Console.ReadLine();        }        catch(Exception e)        {            throw e;        }    }    static void ValidateMyString(string s)    {        if (s.Any(char.IsDigit))        {            throw new FormatException();        }    }}
打开App,查看更多内容
随时随地看视频慕课网APP