具有表达式的Windows Workflow Foundation Switch活动(不是常量)

时间:2018-04-05 12:15:35

标签: c# .net workflow-foundation-4 workflow-foundation sharepoint-workflow

我正在尝试使用切换活动在 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的表达式如下所示:

enter image description here

enter image description here

我知道我可以在这里使用嵌套的Ifs来获得所需的结果,但这就是我想要避免的。

到目前为止我尝试/搜索的内容:

最后,我正在使用 C#7 (这就是我能够编写上述切换代码的​​原因:))

请帮助。谢谢!

0 个答案:

没有答案