c# - 检查文本框中的 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”类型的未处理异常
附加信息:输入字符串的格式不正确。
我究竟做错了什么?
解决方案
而是使用TryParse()
像下面这样不会抛出异常的情况下转换失败(如果它是 NaN)
int.TryParse(tb_Quantity.Text.Trim(), out int quantity);
推荐阅读
- swift - 如何在swift中正确调用函数中的另一个函数?
- java - 如何循环异常直到用户成功或错误
- linux - 一个进程在多长时间之前会自动死亡
- java - 在字符串数学中的数字中加一个逗号
- ethereum - web3 中的 getAccount() 在两个不同的浏览器上产生两个不同的错误
- javascript - 将 json 数据转换为 GeoJSON 数据?
- swift - SpriteKit SKScene 中的时间控制动画
- python - 从多行字符串中提取数据并将其存储在python字典中
- perl - CGI:将 STDERR 重定向到带有更改的文件
- sql - 多列检查 if 子句具有相同值的情况