F # - พจนานุกรมไม่แน่นอน
Dictionary<'TKey, 'TValue> คลาสเป็นอะนาล็อกที่ไม่แน่นอนของโครงสร้างข้อมูลแผนที่ F # และมีฟังก์ชันเดียวกันจำนวนมาก
สรุปจากบทแผนที่ใน 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]]
คลาสพจนานุกรม (TKey, TValue)
คลาสพจนานุกรม (TKey, TValue) แสดงถึงชุดของคีย์และค่าต่างๆ
ตารางต่อไปนี้แสดงคุณสมบัติตัวสร้างและวิธีการของคลาส List (T) -
คุณสมบัติ
ทรัพย์สิน | คำอธิบาย |
---|---|
เปรียบเทียบ | รับ IEqualityComparer (T) ที่ใช้เพื่อกำหนดความเท่าเทียมกันของคีย์สำหรับพจนานุกรม |
นับ | รับจำนวนคู่คีย์ / ค่าที่มีอยู่ในพจนานุกรม (TKey, TValue) |
สิ่งของ | รับหรือตั้งค่าที่เกี่ยวข้องกับคีย์ที่ระบุ |
คีย์ | รับคอลเล็กชันที่มีคีย์ในพจนานุกรม (TKey, TValue) |
ค่า | รับคอลเล็กชันที่มีค่าในพจนานุกรม (TKey, TValue) |
ตัวสร้าง
ตัวสร้าง | คำอธิบาย |
---|---|
พจนานุกรม (TKey, TValue) () | เริ่มต้นอินสแตนซ์ใหม่ของไฟล์ Dictionary(TKey, TValue) คลาสที่ว่างมีความจุเริ่มต้นดีฟอลต์และใช้ตัวเปรียบเทียบความเท่าเทียมเริ่มต้นสำหรับประเภทคีย์ |
พจนานุกรม (TKey, TValue) (IDictionary (TKey, TValue)) | เริ่มต้นอินสแตนซ์ใหม่ของไฟล์ Dictionary(TKey, TValue) คลาสที่มีองค์ประกอบที่คัดลอกมาจากที่ระบุ IDictionary(TKey, TValue) และใช้ตัวเปรียบเทียบความเท่าเทียมเริ่มต้นสำหรับประเภทคีย์ |
พจนานุกรม (TKey, TValue) (IEqualityComparer (TKey)) | เริ่มต้นอินสแตนซ์ใหม่ของไฟล์ Dictionary(TKey, TValue) คลาสที่ว่างมีความจุเริ่มต้นเริ่มต้นและใช้ที่ระบุ IEqualityComparer(T). |
พจนานุกรม (TKey, TValue) (Int32) | เริ่มต้นอินสแตนซ์ใหม่ของไฟล์ Dictionary(TKey, TValue) คลาสที่ว่างมีความจุเริ่มต้นที่ระบุและใช้ตัวเปรียบเทียบความเท่าเทียมดีฟอลต์สำหรับประเภทคีย์ |
พจนานุกรม (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) | เริ่มต้นอินสแตนซ์ใหม่ของไฟล์ Dictionary(TKey, TValue) คลาสที่มีองค์ประกอบที่คัดลอกมาจากที่ระบุ IDictionary(TKey, TValue) และใช้ไฟล์ IEqualityComparer(T). |
พจนานุกรม (TKey, TValue) (Int32, IEqualityComparer (TKey)) | เริ่มต้นอินสแตนซ์ใหม่ของไฟล์ Dictionary(TKey, TValue) คลาสที่ว่างมีความจุเริ่มต้นที่ระบุและใช้ที่ระบุ IEqualityComparer(T). |
พจนานุกรม (TKey, TValue) (SerializationInfo, StreamingContext) | เริ่มต้นอินสแตนซ์ใหม่ของไฟล์ ictionary(TKey, TValue) คลาสที่มีข้อมูลอนุกรม |
วิธีการ
วิธี | คำอธิบาย |
---|---|
เพิ่ม | เพิ่มคีย์และค่าที่ระบุลงในพจนานุกรม |
ชัดเจน | ลบคีย์และค่าทั้งหมดออกจากพจนานุกรม (TKey, TValue) |
ประกอบด้วยคีย์ | กำหนดว่าพจนานุกรม (TKey, TValue) มีคีย์ที่ระบุหรือไม่ |
ประกอบด้วยค่า | กำหนดว่าพจนานุกรม (TKey, TValue) มีค่าเฉพาะหรือไม่ |
เท่ากับ (วัตถุ) | กำหนดว่าวัตถุที่ระบุเท่ากับวัตถุปัจจุบันหรือไม่ (สืบทอดมาจาก Object) |
สรุป | อนุญาตให้ออบเจ็กต์พยายามปลดปล่อยทรัพยากรและดำเนินการล้างข้อมูลอื่น ๆ ก่อนที่จะเรียกคืนโดยการรวบรวมขยะ (สืบทอดมาจาก Object) |
GetEnumerator | ส่งคืนตัวแจงนับที่วนซ้ำผ่านพจนานุกรม (TKey, TValue) |
GetHashCode | ทำหน้าที่เป็นฟังก์ชันแฮชเริ่มต้น (สืบทอดมาจาก Object) |
GetObjectData | ใช้อินเทอร์เฟซ System.Runtime.Serialization.ISerializable และส่งคืนข้อมูลที่จำเป็นในการทำให้อินสแตนซ์ Dictionary (TKey, TValue) เป็นอนุกรม |
GetType | รับประเภทของอินสแตนซ์ปัจจุบัน (สืบทอดมาจาก Object) |
MemberwiseClone | สร้างสำเนาตื้นของวัตถุปัจจุบัน (สืบทอดมาจาก Object) |
OnDeserialization | ใช้อินเทอร์เฟซ System.Runtime.Serialization.ISerializable และเพิ่มเหตุการณ์ deserialization เมื่อการ deserialization เสร็จสมบูรณ์ |
ลบ | ลบค่าด้วยคีย์ที่ระบุจากพจนานุกรม (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"]