HashSet` .ToArray()`使用F#

Old*_*vec 1 ienumerable f# hashset

我需要做什么才能调用.ToArray ()HashSet?我尝试过以下但是没有用:

let a = System.Collections.Generic.HashSet ()
a.Add 5 |> ignore
a.ToArray () // Not possible
let b = a :> System.Collections.IEnumerable
b.ToArray () // Not possible
Run Code Online (Sandbox Code Playgroud)

这里说明了这一点:

ToArray:从IEnumerable创建一个数组.(由Enumerable定义.)

所以应该有办法.

cfe*_*ern 6

IEnumerable.ToArray()被定义为System.Linq下的扩展方法.或者,使用Seq.toArray或Array.ofSeq.

open System.Collections.Generic
open System.Linq

let hs = HashSet()
hs.Add 4
hs.Add 2

let arr = hs.ToArray()       // needs System.Linq
let arr2 = hs |> Seq.toArray // provided by F#
Run Code Online (Sandbox Code Playgroud)