小编Jon*_*ite的帖子

在Seq.find()之后访问属性

可能是一个非常简单的问题 - 如果我有一系列对象,我在其上运行Seq.find()以返回单个元素,那么如何在不将整个元素存储为变量的情况下访问一个属性?

例如

type MyType = { Id : int; Text : string }
let obs = [| { Id = 1; Text = "Hello" }; { Id = 2; Text = "Goodbye" } |] :> seq<MyType>

let getFirstText (array : seq<MyType>) = 
  array |> Seq.find(fun mt -> mt.Id = 1) |> .Text
                                            ^^^^^  
getFirstText obs |> printfn "%s" 
Run Code Online (Sandbox Code Playgroud)

这给出了意外的符号'.' 在表达中.

尝试Seq.find(fun mt -> mt.Id = 1).Text给出类型约束不匹配 - 类型'' - > MyType'与第 …

f#

2
推荐指数
1
解决办法
101
查看次数

C#是where()和where <T>()之间的区别

在C#LINQ,是否有之间的差A.where(...)A.where<SomeClass>(...)在那里A是某种类型的合适的收集的?

c# linq generics

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

标签 统计

c# ×1

f# ×1

generics ×1

linq ×1