2 回答
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();
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();
}
}
}
- 2 回答
- 0 关注
- 134 浏览
添加回答
举报