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