Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menjamin Penghitungan Tertib Elemen Kamus dalam C#?

Bagaimanakah Saya Boleh Menjamin Penghitungan Tertib Elemen Kamus dalam C#?

Susan Sarandon
Susan Sarandonasal
2025-01-17 18:47:10604semak imbas

How Can I Guarantee Ordered Enumeration of Dictionary Elements in 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!

Kenyataan:
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