Kamus Generik BERSIH: Mengendalikan Berbilang Kekunci untuk Satu Nilai
ObjekStandard .NET Dictionary
menawarkan akses kunci kepada nilai yang mudah. Walau bagaimanapun, mendapatkan semula kunci yang dikaitkan dengan nilai tertentu menjadi rumit apabila berbilang kunci dipetakan kepada nilai yang sama. Artikel ini membentangkan penyelesaian menggunakan kamus dwiarah tersuai.
Membina Kamus Dua Arah
Untuk mengatasi had ini, kami mencipta kelas BiDictionary<TFirst, TSecond>
. Kelas ini mengurus perhubungan nilai kunci dalam kedua-dua arah, menggunakan dua kamus dalaman: firstToSecond
(kunci kepada nilai) dan secondToFirst
(nilai kepada kunci).
Menambah Entri dan Mengakses Data
Kaedah Add
mengendalikan penambahan pasangan nilai kunci baharu dengan cekap. Ia menyemak entri sedia ada dan mencipta senarai baharu jika perlu untuk menyimpan berbilang kunci untuk satu nilai.
Kelas BiDictionary
menyediakan pengindeks untuk kedua-dua akses kunci kepada nilai dan nilai kepada kunci. Untuk mengelakkan kekaburan, kaedah khusus, GetByFirst
dan GetBySecond
, turut disertakan.
Contoh Ilustrasi
Mari kita pertimbangkan contoh praktikal:
<code class="language-C#">BiDictionary<int, string> greek = new BiDictionary<int, string>(); greek.Add(1, "Alpha"); greek.Add(2, "Beta"); greek.Add(5, "Beta"); ShowEntries(greek, "Alpha"); // Output: Alpha: [1] ShowEntries(greek, "Beta"); // Output: Beta: [2, 5] ShowEntries(greek, "Gamma"); // Output: Gamma: []</code>
Kaedah ShowEntries
menunjukkan pengambilan kunci untuk nilai tertentu. Perhatikan bagaimana "Beta" mengembalikan kedua-dua kunci yang berkaitan (2 dan 5) dengan betul. Ini mempamerkan keupayaan kamus dua arah untuk mengendalikan berbilang kunci bagi setiap nilai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Berbilang Kekunci dengan Cekap Dikaitkan dengan Nilai Tunggal dalam Kamus .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!