如何检查在 C# 中使用“int.Parse”将字符串转换为整数的空复选框?
如果我尝试传递空白文本框,Visual Studio 会给我这个错误 - “输入字符串的格式不正确。”
我已经阅读了一些关于 stackoverflow 的问题,它们解决了相同的问题,但我知道不同的人使用不同的方法来完成相同的任务。所以我也想了解他们。请先从你知道的最简单的方法开始。
如何检查在 C# 中使用“int.Parse”将字符串转换为整数的空复选框?
如果我尝试传递空白文本框,Visual Studio 会给我这个错误 - “输入字符串的格式不正确。”
我已经阅读了一些关于 stackoverflow 的问题,它们解决了相同的问题,但我知道不同的人使用不同的方法来完成相同的任务。所以我也想了解他们。请先从你知道的最简单的方法开始。
int multiplyBy;
if(int.TryParse(textBox3.Text, out multiplyBy)) {
//success
} else {
//string was not in correct format
}
该int.TryParse(string s, out int result)
方法尝试解析字符串,但如果格式错误不抛出异常,它返回一个布尔值,指示格式是否有效。结果out int
参数是应该得到值的int。
使用 Int32.TryParse 验证文本框中的值是否为有效整数
http://msdn.microsoft.com/en-us/library/f02979c7.aspx
您可以检查文本框是否具有以下值:
string.IsNullOrEmpty(textbox.Text)
如果你想要它在单行代码
vb.net
int i = If(String.IsNullOrEmpty(TextBox1.Text), 0, Int32.Parse(TextBox1.Text))
C#
int i = (String.IsNullOrEmpty(TextBox1.Text)) ?? 0: Int32.Parse(TextBox1.Text)
不是直接将字符串表示解析为整数,而是检查它是否能够转换为整数。.NET 有整数的 TryParse 方法,它尝试将字符串表示形式转换为 int ,并返回 bool 值指示转换是否成功。如果成功,则将解析后的值存储在属于 out 类型的 TryParse 函数的第二个参数中。
注意:如果转换失败,TryParse 方法不会抛出异常。它只是返回 false 表示转换失败。
你为什么不抓住异常
try
{
int multiplyBy = int.Parse(textBox3.Text);
} catch(Exception){}
如果你愿意,你也可以 catch(FormateException) 。
希望这可以帮助!