我正在尝试使用切换活动在 Windows Workflow Foundation 中实现以下代码:
string userInput = Console.ReadLine();
if (string.IsNullOrEmpty(userInput)) return;
switch (true)
{
case true when (userInput.Contains("hey")):
Console.WriteLine("Got hey");
break;
case true when (userInput.Contains("what") && userInput.Contains("man")):
Console.WriteLine("Got what man");
break;
case true when (userInput.Contains("you")):
Console.WriteLine("Got you");
break;
case true when (userInput.Contains("hey") && userInput.Contains("you")):
Console.WriteLine("Got hey you");
break;
}
我无法理解这一点。如果我为工作流中的Switch选择布尔表达式,我只会在Case选项中得到 True / False,即我不能添加任何计算结果为True或False的表达式如下所示:
我知道我可以在这里使用嵌套的Ifs来获得所需的结果,但这就是我想要避免的。
到目前为止我尝试/搜索的内容:
最后,我正在使用 C#7 (这就是我能够编写上述切换代码的原因:))
请帮助。谢谢!