字典<'TKey,'TValue> 类是F#地图数据结构的可变模拟,包含许多相同的功能.
重演从F#中的Map章节来看,map是一种特殊的集合,它将值与key相关联.
创建可变字典
Mutable使用 new 关键字创建字典并调用列表的构造函数.以下示例演示了此 :
open System.Collections.Genericlet dict = new Dictionary()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]]
字典(TKey,TValue)类
字典(TKey,TValue)类表示键和值的集合.
下表提供了List(T)类的属性,构造函数和方法 :
属性
Property | 描述 |
---|---|
Comparer | 获取IEqualityComparer(T),用于确定字典的键的相等性. |
Count | 获取字典中包含的键/值对的数量(TKey,TValue). |
Item | 获取或设置与指定键关联的值. |
Keys | 获取一个包含Dictionary中的键的集合(TKey,TValue). |
Values | 获取一个包含Dictionary(TKey,TValue)中值的集合. |
构造函数
构造函数 | 描述 |
---|---|
Dictionary(TKey,TValue)() | 初始化字典(TKey,TValue)类的新实例,该类为空,具有默认初始容量,并使用键类型的默认相等比较器. |
Dictionary(TKey,TValue)(IDictionary(TKey,TValue)) | 初始化一个新的 Dictionary(TKey,TValue)类的实例,包含从指定的 IDictionary(TKey,TValue)复制的元素,并使用默认的相等比较器作为键类型. |
Dictionary(TKey,TValue)(IEqualityComparer(TKey)) | 初始化一个新的字典(TKey,TValue) cl的实例空的ass,具有默认的初始容量,并使用指定的 IEqualityComparer(T). |
Dictionary(TKey,TValue)(Int32) | 初始化 Dictionary(TKey,TValue)类的新实例,该类为空,具有指定的初始容量,并使用键类型的默认相等比较器. |
Dictionary(TKey,TValue)(IDictionary(TKey) ,TValue),IEqualityComparer(TKey)) | 初始化 Dictionary(TKey,TValue)类的新实例,该类包含从指定的复制的元素IDictionary(TKey,TValue)并使用指定的 IEqualityComparer(T). |
Dictionary(TKey,TValue)(Int32,IEqualityComparer(TKey)) | 初始化一个空的字典(TKey,TValue)类的新实例,具有指定的初始容量,并使用指定的 IEqualityComparer(T). |
Dictionary(TKey,TValue)(SerializationInfo,StreamingContext) | 初始化 ictionary(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接口并返回序列化Dictionary(TKey,TValue)实例所需的数据. |
GetType | 获取当前实例的Type. (继承自Object.) |
MemberwiseClone | 创建一个浅表副本当前对象. (继承自Object.) |
OnDeserialization | 实现System.Runtime.序列化.ISerializable接口并在反序列化完成时引发反序列化事件. |
Remove | 从Dictionary(TKey,TValue)中删除指定键的值. |
ToString | 返回表示当前对象的字符串. (继承自Object.) |
TryGetValue | 获取与指定键. |
示例
open System.Collections.Genericlet dict = new Dictionary()dict.Add("1501", "Zara Ali")dict.Add("1502","Rishita Gupta")dict.Add("1503","Robin Sahoo")dict.Add("1504","Gillian Megan")printfn "Dictionary - students: %A" dictprintfn "Total Number of Students: %d" dict.Countprintfn "The keys: %A" dict.Keysprintf"The Values: %A" dict.Values
当你编译并执行程序时,它产生以下结果输出&减去;
Dictionary - students: seq[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];[1504, Gillian Megan]]Total Number of Students: 4The keys: seq ["1501"; "1502"; "1503"; "1504"]The Values: seq ["Zara Ali"; "Rishita Gupta"; "Robin Sahoo"; "Gillian Megan"]