我正在使用Visual Studio 2010 Beta 2开始学习使用WF4。我正在设计师中创建一个xaml文件。我已经添加了一个ForEach活动,并且在ForEach活动中有一个流程图可以执行一些条件处理。如果其中一个条件成立,我希望能够突破ForEach,但无法弄清楚如何这样做。在C#代码后面的文件中,只是发出一个中断; ,但在xaml工作流设计器中,我没有看到任何破坏循环的机制。有什么建议吗?
答案 0 :(得分:3)
WF4中没有中断等价物。因此,您需要开始添加条件逻辑以跳过下一个循环或抛出异常并捕获ForEach之外的内容并继续。
我同意这两个选项都不是很好: - (
答案 1 :(得分:0)
使用While或DoWhile活动代替ForEach可能是活动对迭代控制的限制的最佳选择。它有点丑陋,但就像你想要迭代一样。
条件可以检查bool(例如Broken
)和计数器变量以将其与集合长度进行比较。我不确定这是否适合您的场景或收集循环,但似乎是一个可行的选择。