我有这样的代码,它只有在所有文本框都包含值时才有效。但是如果文本框是空的,我会得到一个错误。
Int32 Total = Int32.Parse((txtChild1.Text))
+ Int32.Parse(txtChild2.Text)
+ Int32.Parse(txtChild3.Text)
+ Int32.Parse(txtWife1.Text)
+ Int32.Parse(txtWife2.Text)
+ Int32.Parse(txtWife3.Text);
我知道它必须是一个类似于 IsNull 的函数,但对于整数值.. 有谁知道这是什么吗?
最佳答案
您正在寻找 Int32.TryParse
:
Int32 val;
if (Int32.TryParse(txtChild1.Text, out val)){
// val is a valid integer.
}
您在每个 .Text
属性上调用它,然后将它们相加。您还可以进行扩展以使其更容易(如果您选择的话):
public static class NumericParsingExtender
{
public static Int32 ToInt32(this String input, Int32 defaultValue = 0)
{
if (String.IsNullOrEmpty(input)) return defaultValue;
Int32 val;
return Int32.TryParse(input, out val) ? val : defaultValue;
}
}
然后,在实践中:
Int32 total = txtChild1.Text.ToInt32() + txtChild2.Text.ToInt32()
+ txtChild3.Text.ToInt32() + /* ... */;
当然还有 an example
关于c# - 在文本框中添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14459945/