如何解决如何在C#中过滤字符
我最近开始从事C#业余爱好,我想做一个计算器。但是我不想让用户填写非数字字符时让我的应用崩溃。我已经搜索了这样的主题,但是找不到我需要的东西:(
这是我尝试过的
我首先做了一个字符。这些字符是我的程序只能使用的字符
char[] chars = {'1','2','3','4','5','6','7','8','9','0','.' };
在此之后,我尝试制作一种过滤器。但这实际上是相反的。
if (tb1.Text.IndexOfAny(chars) >= 0)
{
tb1.Text = "0";
}
我也将字符串转换成这样的数字。
double a = Convert.ToDouble(tb1.Text.Substring(0));
解决方法
您使用相反的方式,应该从数组中找到您的值。例如:
if (Array.IndexOf(chars,tb1.Text) >= 0)
{
tb1.Text = "0";
}
,
我这样解决了
GKE
此后,我创建了一个函数
private void Button_Click_1(object sender,RoutedEventArgs e)
{
double a = Convert.ToDouble(tb1.Text.Substring(0));
}
并检查输入字符串
private void tb1_TextChanged(object sender,TextChangedEventArgs e)
{
if (tb1.Text == "")
{
return;
}
var input = CheckText(tb1.Text);
tb1.Text = input;
tb1.SelectionStart = input.Length;
tb1.SelectionLength = 0;
}
现在您甚至不能填写数字或其他“非法”字符
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。