Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menjamin Penghitungan Tertib Elemen Kamus dalam C#?
Mengekalkan Ketenteraman Semasa Mengulang Melalui Kamus C#
Kamus C# standard sememangnya tidak menjamin susunan unsur tertentu semasa penghitungan. Pesanan mungkin berbeza-beza tanpa diduga, tanpa mengira urutan sisipan. Walau bagaimanapun, terdapat cara untuk mengawal susunan lelaran jika perlu.
Kaedah untuk Penghitungan Tertib
Beberapa strategi boleh memastikan penerusan elemen kamus yang teratur:
1. Mengisih Pasangan KeyValuePair:
Kaedah ini menukar kamus kepada tatasusunan KeyValuePair
objek yang diisih.
<code class="language-csharp">var sortedKVPs = _Dictionary.OrderBy(x => x.Key).ToArray(); foreach (KeyValuePair<string, string> kvp in sortedKVPs) { Trace.Write(String.Format("{0}={1}", kvp.Key, kvp.Value)); }</code>
Coretan kod ini mengisih pasangan nilai kunci berdasarkan kekunci dan kemudian melelang melalui tatasusunan yang diisih, memberikan susunan abjad dalam contoh ini.
2. Memanfaatkan OrderedDictionary:
Kelas OrderedDictionary
secara eksplisit mengekalkan susunan sisipan.
<code class="language-csharp">// Create an ordered dictionary var orderedDictionary = new OrderedDictionary(); // Add elements orderedDictionary.Add("orange", "1"); orderedDictionary.Add("apple", "4"); orderedDictionary.Add("cucumber", "6"); // Add using indexer orderedDictionary["banana"] = 7; orderedDictionary["pineapple"] = 7; // Enumerate the ordered dictionary foreach (DictionaryEntry entry in orderedDictionary) { Trace.Write(String.Format("{0}={1}", entry.Key, entry.Value)); }</code>
Elemen diambil dalam susunan tepat ia telah ditambahkan pada OrderedDictionary
. Ambil perhatian bahawa OrderedDictionary
ialah kelas warisan; untuk projek baharu, pertimbangkan untuk menggunakan SortedDictionary
atau SortedList<TKey, TValue>
. SortedDictionary
memastikan kunci diisih dan SortedList<TKey, TValue>
menawarkan fungsi yang serupa dengan prestasi yang lebih baik dalam beberapa kes.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjamin Penghitungan Tertib Elemen Kamus dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!