Lint of F#power工具建议使用模式匹配来替换以下代码中的x <> null
(when x <> null
)。
let x = obj.method(...) // Call some C# library, may return null
match s with
| ParseRegex "...." r when x <> null -> Some ( x |> ....)
| _ -> None
when
部分)会使代码更麻烦吗?x <> null
不好?答案 0 :(得分:3)
1)是的,您可以一次性匹配两个值:
let x = obj.method(...) // Call some C# library, may return null
match (s, x) with
| (_, null) -> None
| (ParseRegex "...." r, _) -> Some ( x |> ....)
| _ -> None
2)解释了一些性能问题here
3)可能是但你应该多描述一下你的代码,比如左边的r用在哪里?