Salah satu penggunaan Lookupbisa untuk membalikkan a Dictionary.
Misalkan Anda memiliki buku telepon yang diimplementasikan sebagai Dictionarydengan sekelompok (unik) nama sebagai kunci, masing-masing nama yang terkait dengan nomor telepon. Tetapi dua orang dengan nama berbeda mungkin berbagi nomor telepon yang sama. Ini bukan masalah untuk a Dictionary, yang tidak peduli bahwa dua kunci sesuai dengan nilai yang sama.
Sekarang Anda ingin cara mencari tahu milik siapa nomor telepon tertentu. Anda membangun Lookup, menambahkan semua KeyValuePairsdari Anda Dictionary, tetapi mundur, dengan nilai sebagai kunci dan kunci sebagai nilai. Anda sekarang dapat meminta nomor telepon, dan mendapatkan daftar nama semua orang yang memiliki nomor telepon itu. Membangun Dictionarydengan data yang sama akan menghapus data (atau gagal, tergantung bagaimana Anda melakukannya), sejak melakukannya
dictionary["555-6593"] = "Dr. Emmett Brown";
dictionary["555-6593"] = "Marty McFly";
berarti bahwa entri kedua menimpa yang pertama - Doc tidak lagi terdaftar.
Mencoba menulis data yang sama dengan cara yang sedikit berbeda:
dictionary.Add("555-6593", "Dr. Emmett Brown");
dictionary.Add("555-6593", "Marty McFly");
akan melemparkan pengecualian pada baris kedua karena Anda tidak dapat Addkunci yang sudah ada di Dictionary.
[Tentu saja, Anda mungkin ingin menggunakan beberapa struktur data tunggal untuk melakukan pencarian di kedua arah, dll. Contoh ini berarti bahwa Anda harus membuat ulang Lookupdari Dictionarysetiap kali perubahan terakhir. Tetapi untuk beberapa data itu bisa menjadi solusi yang tepat.]