หนึ่งใช้อาจจะย้อนกลับLookup
Dictionary
สมมติว่าคุณใช้สมุดโทรศัพท์ที่Dictionary
มีชื่อ (ไม่ซ้ำกัน) เป็นคีย์โดยแต่ละชื่อจะเชื่อมโยงกับหมายเลขโทรศัพท์ แต่คนสองคนที่มีชื่อต่างกันอาจใช้หมายเลขโทรศัพท์เดียวกัน นี่ไม่ใช่ปัญหาสำหรับ a Dictionary
ซึ่งไม่สนใจว่าคีย์สองปุ่มตรงกับค่าเดียวกัน
ตอนนี้คุณต้องการวิธีการค้นหาผู้ที่เป็นหมายเลขโทรศัพท์ คุณสร้าง a Lookup
เพิ่มทั้งหมดKeyValuePairs
จากของคุณDictionary
แต่ย้อนหลังด้วยค่าเป็นคีย์และคีย์เป็นค่า ตอนนี้คุณสามารถสอบถามหมายเลขโทรศัพท์และรับรายชื่อของทุกคนที่มีหมายเลขโทรศัพท์ การสร้าง a Dictionary
ด้วยข้อมูลเดียวกันจะทำให้ข้อมูลลดลง (หรือล้มเหลวขึ้นอยู่กับว่าคุณทำมันอย่างไร)
dictionary["555-6593"] = "Dr. Emmett Brown";
dictionary["555-6593"] = "Marty McFly";
หมายความว่ารายการที่สองเขียนทับรายการแรก - เอกสารไม่อยู่ในรายการอีกต่อไป
พยายามเขียนข้อมูลเดียวกันด้วยวิธีที่แตกต่างกันเล็กน้อย:
dictionary.Add("555-6593", "Dr. Emmett Brown");
dictionary.Add("555-6593", "Marty McFly");
จะโยนข้อยกเว้นในบรรทัดที่สองนับตั้งแต่ที่คุณไม่สามารถที่สำคัญที่มีอยู่แล้วในAdd
Dictionary
[แน่นอนคุณอาจต้องการที่จะใช้โครงสร้างข้อมูลเดียวอื่น ๆ ให้ค้นหาในทั้งสองทิศทาง ฯลฯ ตัวอย่างเช่นนี้หมายความว่าคุณจะต้องงอกใหม่Lookup
จากDictionary
ทุกครั้งที่มีการเปลี่ยนแปลงหลัง แต่สำหรับข้อมูลบางอย่างมันอาจเป็นทางออกที่ถูกต้อง]