JSRUN 用代码说话

可变字典

编辑教程

可变字典

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闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟