14

有很多遗留接口以 plain 形式获取实体集合IEnumerable。通常foreach(CertainTypeWeSureItemIs item in items)在 C# 中将对象转换为他们想要的任何类型。IEnumerable 不直接转换为序列。包裹它seq { for x in xs -> x }也没有多大帮助,因为它得到seq{obj}. 那么我该如何在 F# 中做到这一点呢?

4

1 回答 1

20

使用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")
于 2013-09-28T17:47:21.253 回答