As Mark points out, you can work with a type Hashtabledirectly from F # (as with any other .NET type). The syntax for accessing indexers in F # is slightly different, though:
open System.Collections
// 'new' is optional, but I would use it here
let ht = new Hashtable()
// Adding element can be done using the C
ht.Add(1, "One")
// To call the indexer, you would use similar syntax as in C
// with the exception that there needst to be a '.' (dot)
let sObj = ht.[1]
Hashtable , , , . :?> downcast, unbox , , :
let s = (sObj :?> string)
let (s:string) = unbox sObj
- , Dictionary<int, string> Hashtable. #, . F #, F # map IDictionary<_,_>, #:
let map = Map.empty |> Map.add 1 "one"
let res = map :> IDictionary<_, _>
, # , .