Поиск строки для конкретного символа - PullRequest
0 голосов
/ 13 июня 2011

Так что я делаю домашнее задание и застрял на одном месте.Я должен написать калькулятор, который принимает 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 ]

3 голосов
/ 13 июня 2011

IndexOfAny принимает char [], а не params, поэтому вы пишете:

inputValue.IndexOfAny(new char[] {'a', 'b', 'c'})
0 голосов
/ 13 июня 2011
    int index = inputValue.IndexOfAny(new char[] {'+' , '-' , '*' , '/' , '%'});
    if (index != -1)
    {
        modifier = inputValue[index];
        goto DoMath;
    }
0 голосов
/ 13 июня 2011

вы можете сделать

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

или

if (inputValue.IndexOfAny(new[] {'+' , '-' , '*' , '/' , '%'}) >= 0)
{
     ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...