Dictionary<'TKey, 'TValue>類是F#映射數(shù)據(jù)結(jié)構(gòu)的可變模擬,并且包含許多相同的功能。
可變詞典都使用new關(guān)鍵字并調(diào)用列表的構(gòu)造函數(shù)創(chuàng)建。下面的例子說明了這一點(diǎn)
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
當(dāng)編譯和執(zhí)行程序時,它會產(chǎn)生以下輸出
Dictionary - students: seq [[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo]; [1504, Gillian Megan]]
Dictionary(TKey,TValue) Class表示鍵和值的集合。
下表提供的屬性,構(gòu)造函數(shù)和列表(T)類的方法
屬性 | 描述 |
---|---|
Comparer | 獲取用于確定字典鍵平等的IEqualityComparer(T)。 |
Count | 獲取包含在詞典(TKEY的,TValue)鍵/值對的數(shù)量。 |
Item | 獲取或設(shè)置與指定的鍵關(guān)聯(lián)的值。 |
Keys | 獲取包含在Dictionary(TKEY的,TValue)鍵的集合。 |
Values | 獲取包含在Dictionary(TKEY的,TValue)值的集合。 |
構(gòu)造函數(shù) | 描述 |
---|---|
Dictionary(TKey, TValue)() | 初始化一個空的,具有默認(rèn)初始容量的Dictionary(TKey,TValue)類的新實(shí)例,并使用默認(rèn)的等于比較器作為鍵類型。 |
Dictionary(TKey, TValue)(IDictionary(TKey, TValue)) | 初始化包含從指定詞典(TKey,TValue)復(fù)制的元素的詞典(TKey,TValue)類的新實(shí)例,并使用默認(rèn)的相等比較器作為鍵類型。 |
Dictionary(TKey, TValue)(IEqualityComparer(TKey)) | 初始化一個空的,具有默認(rèn)初始容量并使用指定的IEqualityComparer(T)的Dictionary(TKey,TValue)類的新實(shí)例。 |
Dictionary(TKey, TValue)(Int32) | 初始化一個空的,具有指定的初始容量的Dictionary(TKey,TValue)類的新實(shí)例,并使用默認(rèn)的等價比較器作為鍵類型。 |
Dictionary(TKey, TValue)(IDictionary(TKey, TValue), IEqualityComparer(TKey)) | 初始化包含從指定IDictionary(TKey,TValue)復(fù)制的元素并使用指定的IEqualityComparer(T)的Dictionary(TKey,TValue)類的新實(shí)例。 |
Dictionary(TKey, TValue)(Int32, IEqualityComparer(TKey)) | 初始化一個空的,具有指定的初始容量并使用指定的IEqualityComparer(T)的Dictionary(TKey,TValue)類的新實(shí)例。 |
Dictionary(TKey, TValue)(SerializationInfo, StreamingContext) | 使用序列化數(shù)據(jù)初始化dictionary(TKey,TValue)類的新實(shí)例。 |
模式 | 描述 |
---|---|
Add | 添加指定的鍵和值到字典中。 |
Clear | 移除字典(TKEY的,TValue)中的所有鍵和值。 |
ContainsKey | 確定詞典(TKEY的,TValue)是否包含指定鍵。 |
ContainsValue | 確定詞典(TKEY的,TValue)是否包含特定值。 |
Equals(Object) | 確定指定的對象是否等于當(dāng)前對象。 (從Object繼承。) |
Finalize | 允許一個對象嘗試釋放資源并之前它是由垃圾回收執(zhí)行其他清理操作。 (從Object繼承。) |
GetEnumerator | 返回的枚舉字典(TKEY的,TValue)迭代。 |
GetHashCode | 作為默認(rèn)哈希函數(shù)。 (從Object繼承。) |
GetObjectData | 實(shí)現(xiàn)了System.Runtime.Serialization.ISerializable接口,并返回序列化詞典(TKEY的,TValue)實(shí)例所需的數(shù)據(jù)。 |
GetType | 獲取當(dāng)前實(shí)例的類型。 (從Object繼承。) |
MemberwiseClone | 創(chuàng)建當(dāng)前Object的淺表副本。 (從Object繼承。) |
OnDeserialization | 實(shí)現(xiàn)了System.Runtime.Serialization.ISerializable接口,并引發(fā)反序列化事件的反序列??化完成時。 |
Remove | 刪除從詞典(TKEY的,TValue)指定鍵的值。 |
ToString | 返回表示當(dāng)前對象的字符串。 (從Object繼承。) |
TryGetValue | 獲取與指定鍵關(guān)聯(lián)的值。 |
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
當(dāng)你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
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"]
更多建議: