【发布时间】:2011-12-10 19:42:44
【问题描述】:
我有一个包含四个操作的数组,我想与输入字符串进行匹配。
我的尝试:
string[] operations = {"add","sub","mul","div"};
string rawInput = Console.ReadLine();
string[] inputs = rawInput.Split(delims,StringSplitOptions.RemoveEmptyEntries);
firstInput = inputs[0].Trim();
foreach (string operation in operations)
{
if (firstInput.Contains(operation))
Console.WriteLine("Valid operation: {0}",operation);
}
正如我所料,如果我输入 add、sub、mul 或 div,这将打印 Valid operation。
为了打印无效输入的消息,我包含了这样的 else 条件:
else
{
Console.WriteLine("Invalid operation: {0}", firstInput);
break;
}
如果我现在输入sub,我会得到:
Invalid operation: sub
如果我删除break语句并输入sub:
Invalid operation: sub
Valid operation: sub
Invalid operation: sub
Invalid operation: sub
如何修改逻辑以便我只收到一次正确的消息?
【问题讨论】:
标签: c#