提问者:小点点

如何在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));


共1个答案

匿名用户

你使用的是相反的方式,你应该从数组中找到你的值。例如:

    if (Array.IndexOf(chars, tb1.Text) >= 0)
    {
        tb1.Text = "0";
    }