我正在使用match
表达式并获得与我预期的完全不同的结果。在我的情况下,wi.State
= "Done"
的值,所以我希望wi.Close()
调用被执行,就是这样。然而,它运行它,然后运行_ ->
全部匹配之后的语句。很明显,我误解了这些表达式应该如何工作所以我会理解任何指示。
workItemCollection.Cast<WorkItem>()
|> Seq.iter(fun wi ->
wi.Open()
match wi.State with
| "Done"
| "Removed" ->
wi.Close()
| _ ->
printfn "Closing %s -> %i" iccmCallNumber wi.Id
wi.State <- "Done"
wi.History <- wi.History + "Closed by Iccm to Tfs integration"
wi.Save())