我来自C#,发现自己爱上了F#模式匹配语法,因为它比C# switch更简单,而且更有用。我喜欢尽可能多地使用它,在这个例子中,以奇怪的方式使用它是否有性能或其他的缺点?
match 0 with
|_ when a<b -> a
|_ -> b发布于 2015-05-28 05:28:00
在这个特殊的例子中,将不存在性能损失。在其他情况下,性能损失也很可能是不存在的,但是要确保您必须使用类似于ILSpy的东西来查看生成的代码。
我还必须补充一点,当您使用F#时,您会发现if/then/else也非常好。在C#中,if/else感觉有点尴尬,因为它不能用作表达,但在F#中却不是这样,所以尴尬很快就消失了。
let x = if a < b then a else b它甚至读起来像通俗的英语!:-)
https://stackoverflow.com/questions/30496550
复制相似问题