相关疑难解决方法(0)

方法链接vs |>管道操作员

所以我有以下代码:

// Learn more about F# at http://fsharp.net
open System
open System.Linq
open Microsoft.FSharp.Collections

let a = [1; 2; 3; 4; 54; 9]

let c = a |> List.map(fun(x) -> x*3) |> List.filter(fun(x) -> x > 10)
let d = a.Select(fun(x) -> x*3).Where(fun(x) -> x > 10)

for i in c do
    Console.WriteLine(i)

for i in d do
    Console.WriteLine(i)
Run Code Online (Sandbox Code Playgroud)

两者似乎做同样的事情,但我看到的大多数F#例子都使用了|>管道运算符,而我更习惯于方法链接(ala C#Linq).后者也稍微短一些,虽然稍微嘎吱作响.目前我正在使用C#Linq语法,但这更多是习惯/惯性而不是任何真正的设计决策.

是否有任何我应该了解的考虑因素,或者它们基本相同?

编辑:另一个考虑因素是管道语法比Linq语法明显更"嘈杂":我正在做的操作(例如"map")非常短而且是小写的,而每一个前面都有这个巨大的"|>列出"除了使它更长时间分散注意力远离微小的小写方法名称.甚至StackOverflow的语法高亮显示也突出了错误(不相关)的事情.无论是那个还是我都不习惯它.

f# map filter method-chaining c#-to-f#

23
推荐指数
3
解决办法
6957
查看次数

标签 统计

c#-to-f# ×1

f# ×1

filter ×1

map ×1

method-chaining ×1