在字符串中搜索特定字符

时间:2011-06-12 22:22:38

标签: c# search

所以我正在做作业而且我被困在一个地方。我必须写一个计算器,它需要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;
        }

3 个答案:

答案 0 :(得分:3)

IndexOfAny使用char [],而不是char params,所以你写:

inputValue.IndexOfAny(new char[] {'a', 'b', 'c'})

答案 1 :(得分:0)

你可以做到

if (new []{"+" , "-" , "*" , "/" , "%"}.Any(i => inputValue.IndexOf(i) >= 0))
{
    ....
}

if (inputValue.IndexOfAny(new[] {'+' , '-' , '*' , '/' , '%'}) >= 0)
{
     ....
}

答案 2 :(得分:0)

    int index = inputValue.IndexOfAny(new char[] {'+' , '-' , '*' , '/' , '%'});
    if (index != -1)
    {
        modifier = inputValue[index];
        goto DoMath;
    }