Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mendapatkan Kekunci Kamus Dengan Cekap Berdasarkan Nilai dalam C#?

Bagaimanakah Saya Boleh Mendapatkan Kekunci Kamus Dengan Cekap Berdasarkan Nilai dalam C#?

DDD
Lepaskan: 2024-12-30 21:19:23
asal
165 orang telah melayarinya

How Can I Efficiently Retrieve Dictionary Keys Based on Values in C#?

Mendapatkan Kekunci Kamus Berdasarkan Nilai dalam C#

Dalam C#, kamus ialah pasangan nilai kunci di mana setiap kunci unik sepadan dengan nilai tunggal . Walau bagaimanapun, mendapatkan semula kunci daripada nilai tidak disokong secara langsung. Artikel ini menyediakan penyelesaian yang cekap untuk menangani cabaran ini.

Menggunakan Carian

Memandangkan nilai dalam kamus mungkin tidak unik, anda perlu melakukan carian untuk mencari kunci yang sepadan. Ini boleh dicapai menggunakan kaedah FirstOrDefault bagi kelas Boleh Dipertanyakan seperti berikut:

var myKey = types.FirstOrDefault(x => x.Value == "one").Key;
Salin selepas log masuk

Baris ini berulang melalui kamus menggunakan ungkapan lambda dan mengembalikan kunci pertama di mana nilai yang berkaitan sepadan dengan "satu."

Menggunakan Kamus Songsang

Jika nilai dalam kamus dijamin unik dan kurang kerap disisipkan daripada dibaca, anda boleh mencipta kamus lain di mana nilai menjadi kunci dan sebaliknya. Kamus songsang ini boleh mempercepatkan pengambilan kunci:

Dictionary<string, string> inverseTypes = new Dictionary<string, string>();

foreach (var item in types)
{
    inverseTypes[item.Value] = item.Key;
}

string myKey = inverseTypes["one"];
Salin selepas log masuk

Pendekatan ini membolehkan pencarian terus kunci mengikut nilai tetapi memerlukan pengekalan kedua-dua kamus asal dan songsang.

HashTable atau SortedLists

Jadual cincang dan senarai diisih tidak begitu sesuai untuk kunci mendapatkan semula dengan nilai sebagai kamus. Mereka biasanya tidak menyediakan cara yang cekap untuk mencari kunci berdasarkan nilai tertentu. Kamus direka khusus untuk mengendalikan pasangan nilai kunci dengan cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Kekunci Kamus Dengan Cekap Berdasarkan Nilai dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan