小编Ner*_*rve的帖子

LINQ表达式是否可以在F#中操作数据?

我是初学F#程序员.我知道,F#是功能性的,并喜欢在那里的数据是通过功能,如管道的样式mapiter功能上集合.仍然,LINQ表达式提供了一种替代的,高度可读的方法来操作集合; 但是,我不确定它是否更为迫切,并且无法使用功能语言.

例如,没有LINQ:

let listOfPrimes n =
    [1UL..n]
    |> List.choose (fun i -> match i with
                             | i when isPrime i -> Some i
                             | _ -> None)
Run Code Online (Sandbox Code Playgroud)

使用LINQ时,我们可以:

let listOfPrimes n =
    query {
        for i in [1UL..n] do
        where (isPrime i)
        select i
    }
    |> List.ofSeq
Run Code Online (Sandbox Code Playgroud)

我注意到在使用LINQ时我们需要将结果序列转换为列表.那么,实际的性能差异是什么?在实际的数据库查询之外,LINQ风格上是不受欢迎的吗?何时使用该场景之外的查询来操作集合数据?

.net linq f# functional-programming coding-style

3
推荐指数
1
解决办法
140
查看次数

标签 统计

.net ×1

coding-style ×1

f# ×1

functional-programming ×1

linq ×1