6
我來自C#,發現自己愛上了F#模式匹配語法,因爲它比C#switch
更簡單,而且方式更有用。我喜歡儘可能多地使用它,在這個例子中是否有奇怪的方式使用它的性能或其他缺點?濫用模式匹配
match 0 with
|_ when a<b -> a
|_ -> b
我來自C#,發現自己愛上了F#模式匹配語法,因爲它比C#switch
更簡單,而且方式更有用。我喜歡儘可能多地使用它,在這個例子中是否有奇怪的方式使用它的性能或其他缺點?濫用模式匹配
match 0 with
|_ when a<b -> a
|_ -> b
在這個特定的例子中,不會有性能損失。在其他情況下,性能損失很可能不存在,但要確保您必須使用類似ILSpy的東西來查看生成的代碼。
我還必須補充說,在使用F#時,您會發現if/then/else
也非常好。在C#中,if/else
感覺有點尷尬,因爲它不能用作表達式,但在F#中情況並非如此,所以尷尬很快就會消失。
let x = if a < b then a else b
它甚至讀得像純英文! :-)
它過於冗長,可以說是非慣用的,但它並沒有比'if'更糟糕的表現。 – ildjarn