gpt4 book ai didi

c# - F# 映射到 C# 字典

转载 作者:IT王子 更新时间:2023-10-29 04:33:03 25 4
gpt4 key购买 nike

我正在尝试将 F# 映射转换为 C# 字典,目前我正在使用:

    let toDictionary (map : Map<_, _>) : Dictionary<_, _> =
let dict = new Dictionary<_, _>()
map |> Map.iter (fun k v -> dict.Add(k, v))
dict

感觉有点笨拙,我是 F# 的新手所以有更好的方法吗?

最佳答案

<强>1。如果你想要标准的字典实现: See the answer of jbtule

<强>2。如果你想要一个不可变的、快速的 IDictionary: the dict function来自当前的 F# 核心库允许从任何键值元组序列创建只读字典:

myDict |> Map.toSeq |> dict

返回值的类型为 IDictionary,因此应该可以从 C# 中使用。 感谢Daniel's answer让我想起了 Map.toSeq。

<强>3。如果您不介意直接使用 Map:Map<,> 实现了 IDictionary,从 C# 中使用它应该很方便。但是,映射的访问是 O(log n),而基于散列的字典访问是常量顺序。

关于c# - F# 映射到 C# 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27109142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com