我如何处理输入字符串的格式不正确
How do I handle input string was not in correct format
我正在尝试处理异常,但我对如何处理感到困惑。这是我的代码
modules.Add(new Modules() {
name = namebox.Text,
code = codebox.Text,
credits = Convert.ToInt32(creditbox.Text),
hours = Convert.ToInt32(hoursbox.Text),
date = semesterbox.Text,
weeks = Convert.ToInt32(semesterweekbox.Text),
studyhours = m1.Calculations(Convert.ToInt32(hoursbox.Text), Convert.ToInt32(semesterweekbox.Text), Convert.ToInt32(creditbox.Text))
});
我正在尝试处理此异常,因此如果我未在文本框中输入值,它会结束我的代码。根据我所做的研究,我发现 ToInt32 行可能是问题所在。一些程序员建议我使用 tryparse 函数。我将如何使用该函数来处理此错误?
A System.FormatException
当您想将字符串“解析”为另一种类型(如整数)时,会发生这种情况,这会使文本中的数字表示为实数,在您的情况下,您正在调用 Convert.ToInt32
,确保作为参数传递给此方法的任何字符串都不会溢出 Int32
结构的功能,或者文本不包含字母或小数点。如果是这种情况,要验证数字是否有效,请使用 int.TryParse
,只有当文本格式正确时才会 return 为真,如下所示:
if (int.TryParse("5", out int number))
{
// Do something with that number
}
此处,如果“5”不是数字,则完全跳过 if 块。
我正在尝试处理异常,但我对如何处理感到困惑。这是我的代码
modules.Add(new Modules() {
name = namebox.Text,
code = codebox.Text,
credits = Convert.ToInt32(creditbox.Text),
hours = Convert.ToInt32(hoursbox.Text),
date = semesterbox.Text,
weeks = Convert.ToInt32(semesterweekbox.Text),
studyhours = m1.Calculations(Convert.ToInt32(hoursbox.Text), Convert.ToInt32(semesterweekbox.Text), Convert.ToInt32(creditbox.Text))
});
我正在尝试处理此异常,因此如果我未在文本框中输入值,它会结束我的代码。根据我所做的研究,我发现 ToInt32 行可能是问题所在。一些程序员建议我使用 tryparse 函数。我将如何使用该函数来处理此错误?
A System.FormatException
当您想将字符串“解析”为另一种类型(如整数)时,会发生这种情况,这会使文本中的数字表示为实数,在您的情况下,您正在调用 Convert.ToInt32
,确保作为参数传递给此方法的任何字符串都不会溢出 Int32
结构的功能,或者文本不包含字母或小数点。如果是这种情况,要验证数字是否有效,请使用 int.TryParse
,只有当文本格式正确时才会 return 为真,如下所示:
if (int.TryParse("5", out int number))
{
// Do something with that number
}
此处,如果“5”不是数字,则完全跳过 if 块。