我目前在对文本框进行错误检查时遇到了一些问题。它持有一个变量(称为 Price)作为 Double。它的目的是输入一个数字,当单击一个按钮时,它会将它添加到显示在不同文本框中的运行总计中。
现在我在检查文本框是否为空时出现错误:
!string.IsNullOrWhiteSpace(txtAddItem.Text)
但是,我不确定如何错误检查是否输入了除数字以外的字符串或字符。任何想法表示赞赏。
最佳答案
方法一:正则表达式
您应该尝试使用正则表达式。正则表达式(简称 Regex)用于将字符串与模式进行匹配。例如,如果您只想允许整数:
Regex r = new Regex(@"^[0-9]+$")
Regex
类有一个 .IsMatch(string s)
方法,其中 s
是您要根据模式测试的字符串。
方法二:try-catch 和 Parse()
另一种可能对初学者更友好的方法是使用 try-catch block 。 (我假设您的 TextBox 的名称是 TextBox1,并且您将总和值存储在 runningSum 变量中。)
try {
double x = double.Parse(TextBox1.Text);
runningSum += x;
catch (ArgumentException ax) {
//handle if it is not a number in the TextBox
}
方法三:TryParse()
结合了 try-catch
和 Parse()
的更高级版本正在使用 double.TryParse()
根据转换是否成功返回真/假值的方法。
double x;
if (double.TryParse(TextBox1.Text, out x)) {
runningSum += x;
} else {
//handle if it is not a number in the TextBox.
}
关于c# - 如果字符串包含整数,如何为文本框设置条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54903173/