如何在F#中处理IEnumerable?

时间:2013-09-28 17:40:02

标签: f#

有许多遗留接口以普通IEnumerable的形式获取实体集合。通常,人们会在C#中将foreach(CertainTypeWeSureItemIs item in items)转换为他们想要的任何类型。 IEnumerable并不直接转换为序列。在seq { for x in xs -> x }中将其包装起来并没有多大帮助,因为它得到seq{obj}。那我该怎么做F#?

1 个答案:

答案 0 :(得分:16)

使用Seq.cast<T>

let al = new System.Collections.ArrayList()
al.Add(1) |> ignore
al.Add(2) |> ignore
al |> Seq.cast<int> |> Seq.iter(printf "%i")