微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在字符串中搜索特定字符

如何解决在字符串中搜索特定字符

| 因此,我正在做作业,并且被困在一个地方。我必须编写一个计算器,该计算器需要2个数字以及+,-,*,/或%,然后它将执行适当的数学运算。我得到了数字部分,并进行了错误检查,但字符部分使我困惑。我尝试了IndexOf和IndexOfAny,它说没有包含5个参数的重载方法。我从Contains得到了类似的答复。 这是我所拥有的,请帮忙!非常感谢您提供的任何帮助!
Console.Write(\"\\r\\nPlease enter either +,-,* or / to do the math.\\r\\n\");
ReadModifier:
        inputValue = Console.ReadLine();
        if (inputValue.IndexOfAny(\"+\",\"-\",\"*\",\"/\",\"%\"))
        {
            modifier = Convert.tochar(inputValue);
            goto DoMath;
        }
        else
        {
            Console.Write(\"\\r\\nPlease enter either +,* or / to do the math.\\r\\n\");
            goto ReadModifier;
        }
    

解决方法

        
    int index = inputValue.IndexOfAny(new char[] {\'+\',\'-\',\'*\',\'/\',\'%\'});
    if (index != -1)
    {
        modifier = inputValue[index];
        goto DoMath;
    }
    ,        IndexOfAny使用char [],而不是char参数,因此您可以这样写:
inputValue.IndexOfAny(new char[] {\'a\',\'b\',\'c\'})
    ,        你可以做
if (new []{\"+\",\"-\",\"*\",\"/\",\"%\"}.Any(i => inputValue.IndexOf(i) >= 0))
{
    ....
}
要么
if (inputValue.IndexOfAny(new[] {\'+\',\'%\'}) >= 0)
{
     ....
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。