首页 > 解决方案 > 检查文本框中的 int 是否为空 + 强制转换

问题描述

我有以下表格:

在此处输入图像描述

我的字段 Quantity 应该是一个 int 但我想实现错误检查。

这是我的代码:

   private void btn_Create_Click(object sender, EventArgs e)
        {

            bool exit = false;

            if (String.IsNullOrEmpty(tb_Quantity.Text))
            {
                lbl_Error.Visible = true;
                lbl_Error.Text = "Check required values !";
                exit = true;
            }

            int Quantity = int.Parse(tb_Quantity.Text.Trim());


            if (!exit)
            {
                MessageBox.Show("Ready to be created!");
            }

        }

如果我的数量为空,我得到的错误:

mscorlib.dll 中出现“System.FormatException”类型的未处理异常

附加信息:输入字符串的格式不正确。

我究竟做错了什么?

标签: c#validation

解决方案


而是使用TryParse()像下面这样不会抛出异常的情况下转换失败(如果它是 NaN)

int.TryParse(tb_Quantity.Text.Trim(), out int quantity);

推荐阅读