为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
四季花海 2022-07-23 16:14:47
如果我编写以下代码(在 Main 方法中):Console.Write("First name: "); student.FirstName = Console.ReadLine();其中 FirsName 是 Student 类的属性,如何防止用户输入整数字符?这可以使用 try-catch 块来完成吗?
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

如果您想阻止用户“输入”数字字符,您可以执行以下操作。


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();      


查看完整回答
反对 回复 2022-07-23
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

您不是很具体,但是根据您提供的数据,您可以使用以下方法执行以下操作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();

        }

    }

}


查看完整回答
反对 回复 2022-07-23
  • 2 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信