.NET Framework 4.6.1 提供多項活動以控制工作流程中的執行流程。 其中一些活動(如 Switch 和 If)實作了類似於程式設計環境中的流程控制結構,如 Visual C#,而其他活動(如 Pick)則模擬新的程式設計結構。
請注意,像 和 ParallelParallelForEach 活動這類活動會同時排程多個子活動執行,但工作流程只會使用單一執行緒。 這些活動的每個子活動依序執行,後續活動直到前一個活動完成或閒置後才會執行。 因此,這些活動對於必須以交錯方式執行多個潛在阻塞活動的應用特別有用。 如果這些活動的子活動都沒有閒置,那麼該 Parallel 活動會像活動 Sequence 一樣執行,而活動 ParallelForEach 也會像活動 ForEach 一樣執行。 然而,若使用非同步活動(例如源自 AsyncCodeActivity的活動)或訊息活動,控制權將轉移至下一分支,而子活動則等待訊息接收或非同步工作完成。
流量控制活動
| Activity | 說明 |
|---|---|
| DoWhile | 執行包含的活動一次,並在條件為 true時持續執行。 |
| ForEach<T> | 為集合中的每個元素依序執行內嵌語句。
ForEach<T> 與關鍵字 foreach類似,但實作為活動而非語言陳述。 |
| If | 若條件為 true,則執行包含的活動;若條件為 false,則可執行屬性Else中包含的活動。 |
| Parallel | 執行包含的活動並行執行。 |
| ParallelForEach<T> | 對集合中的每個元素平行執行內嵌語句。 |
| Pick | 提供基於事件的控制流程建模。 |
| PickBranch | 代表活動中 Pick 可能的執行路徑。 |
| Sequence | 執行包含的活動依序執行。 |
| Switch<T> | 根據給定表達式的值,從多個活動中選擇一個執行。 |
| While | 執行包含的活動,條件為 true。 |