F#在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
函数式 赛车模拟 (自由格式) 发布于:2021-02-02 10:52 转换OCaml对象模式 发布于:2021-02-01 00:46 [更多]
显示目录

可变字典



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

可变字典

Dictionary<'TKey, 'TValue>类是F#映射数据结构的可变模拟,并且包含许多相同的功能。

一个可变字典创建

可变词典都使用new关键字并调用列表的构造函数创建。下面的例子说明了这一点

open System.Collections.Generic
let dict = new Dictionary<string, string>()
dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")
printfn "Dictionary - students: %A" dict

当编译和执行程序时,它会产生以下输出

Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]

Dictionary(TKey,TValue) Class

Dictionary(TKey,TValue) Class表示键和值的集合。

下表提供的属性,构造函数和列表(T)类的方法

属性

属性 描述
Comparer 获取用于确定字典键平等的IEqualityComparer(T)。
Count 获取包含在词典(TKEY的,TValue)键/值对的数量。
Item 获取或设置与指定的键关联的值。
Keys 获取包含在Dictionary(TKEY的,TValue)键的集合。
Values 获取包含在Dictionary(TKEY的,TValue)值的集合。

构造函数

构造函数 描述
Dictionary(TKey, TValue)() 初始化一个空的,具有默认初始容量的Dictionary(TKey,TValue)类的新实例,并使用默认的等于比较器作为键类型。
Dictionary(TKey, TValue)(IDictionary(TKey, TValue)) 初始化包含从指定词典(TKey,TValue)复制的元素的词典(TKey,TValue)类的新实例,并使用默认的相等比较器作为键类型。
Dictionary(TKey, TValue)(IEqualityComparer(TKey)) 初始化一个空的,具有默认初始容量并使用指定的IEqualityComparer(T)的Dictionary(TKey,TValue)类的新实例。
Dictionary(TKey, TValue)(Int32) 初始化一个空的,具有指定的初始容量的Dictionary(TKey,TValue)类的新实例,并使用默认的等价比较器作为键类型。
Dictionary(TKey, TValue)(IDictionary(TKey, TValue), IEqualityComparer(TKey)) 初始化包含从指定IDictionary(TKey,TValue)复制的元素并使用指定的IEqualityComparer(T)的Dictionary(TKey,TValue)类的新实例。
Dictionary(TKey, TValue)(Int32, IEqualityComparer(TKey)) 初始化一个空的,具有指定的初始容量并使用指定的IEqualityComparer(T)的Dictionary(TKey,TValue)类的新实例。
Dictionary(TKey, TValue)(SerializationInfo, StreamingContext) 使用序列化数据初始化dictionary(TKey,TValue)类的新实例。

模式

模式 描述
Add 添加指定的键和值到字典中。
Clear 移除字典(TKEY的,TValue)中的所有键和值。
ContainsKey 确定词典(TKEY的,TValue)是否包含指定键。
ContainsValue 确定词典(TKEY的,TValue)是否包含特定值。
Equals(Object) 确定指定的对象是否等于当前对象。 (从Object继承。)
Finalize 允许一个对象尝试释放资源并之前它是由垃圾回收执行其他清理操作。 (从Object继承。)
GetEnumerator 返回的枚举字典(TKEY的,TValue)迭代。
GetHashCode 作为默认哈希函数。 (从Object继承。)
GetObjectData 实现了System.Runtime.Serialization.ISerializable接口,并返回序列化词典(TKEY的,TValue)实例所需的数据。
GetType 获取当前实例的类型。 (从Object继承。)
MemberwiseClone 创建当前Object的浅表副本。 (从Object继承。)
OnDeserialization 实现了System.Runtime.Serialization.ISerializable接口,并引发反序列化事件的反序列​​化完成时。
Remove 删除从词典(TKEY的,TValue)指定键的值。
ToString 返回表示当前对象的字符串。 (从Object继承。)
TryGetValue 获取与指定键关联的值。

例:

open System.Collections.Generic
let dict = new Dictionary<string, string>()

dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")

printfn "Dictionary - students: %A" dict
printfn "Total Number of Students: %d" dict.Count
printfn "The keys: %A" dict.Keys
printf"The Values: %A" dict.Values

当你编译和执行程序,它产生以下输出

Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Total Number of Students: 4
The keys: seq ["1501"; "1502"; "1503"; "1504"]
The Values: seq ["Zara Ali"; "Rishita Gupta"; "Robin Sahoo"; "Gillian Megan"]
由JSRUN为你提供的F#在线运行、在线编译工具
        JSRUN提供的F# 在线运行,F# 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout