Metode C# ToDictionary

Metode C Todictionary



Fungsi ToDictionary di C# adalah fungsi ekstensi LINQ yang memungkinkan Anda mengubah kumpulan data menjadi kamus yang menawarkan cara yang jelas dan praktis untuk memetakan entitas ke kunci berbeda dan nilai terkait. Hal ini memerlukan dua argumen, dua delegasi atau ekspresi lambda, satu untuk memilih kunci dan satu lagi untuk memilih nilai bagi setiap objek dalam koleksi. Pada artikel ini, kami akan menggunakan beberapa contoh kode C# untuk mendemonstrasikan penggunaan fungsi ToDictionary.

Sintaksis:

Mari kita urai dan pahami setiap komponen yang disediakan dalam sintaks fungsi C# ToDictionary berikut satu per satu:



adalah dikte = koleksi. Ke Kamus ( pemilih kunci , elemenSelektor ) ;
  • Kata kunci “var” dihilangkan di sini untuk menentukan kategori tipe kamus “dict” yang dihasilkan. Dalam kebanyakan kasus, ini adalah Dictionary dengan K adalah tipe kunci dan V adalah kategori tipe nilai kamus.
  • Elemen “koleksi” mewakili koleksi sumber yang ingin Anda ubah menjadi kamus “dikt”. Itu bisa berupa kelas apa pun yang mengimplementasikan antarmuka IEnumerable seperti daftar, array, atau hasil kueri.
  • Kata kunci “keySelector” adalah ekspresi delegasi atau lambda yang menentukan cara mengekstrak kunci dari setiap item dalam koleksi. Ia mendapat elemen dari koleksi sebagai argumen dan mengembalikan nilai kunci untuk item tersebut. Kuncinya harus unik untuk setiap item dalam koleksi, karena kamus tidak boleh memiliki kunci duplikat.
  • Kata kunci “elementSelector” mengacu pada ekspresi delegasi atau lambda yang menentukan cara mengekstrak nilai dari setiap item dalam koleksi. Itu juga mendapat elemen koleksi sebagai argumen dan menghasilkan nilai untuk item tersebut.

Setelah menjalankan fungsi ToDictionary, Anda akan memiliki objek kamus baru di mana setiap item dari koleksi direpresentasikan sebagai pasangan nilai kunci.







Contoh 1:

Mari kita memulai panduan ini dengan mendemonstrasikan penggunaan fungsi ToDictionary di C# dengan bantuan contoh kode. Mari kita lalui langkah demi langkah.



Kode dimulai dengan namespace yang diperlukan yang diimpor: System, System.Collections.Generic, dan System.Linq. Namespace ini menyediakan kelas dan metode ekstensi yang diperlukan untuk bekerja dengan koleksi dan LINQ. Kelas “Dummy” didefinisikan yang berisi metode “Utama” dari program C# ini.



Di dalam metode “Utama”, daftar bernama “L” dibuat. Daftar ini berisi tiga elemen string yang mewakili nama parfum berbeda pilihan pengguna. Metode ToDictionary dipanggil pada daftar “L”. Itu mengubah daftar menjadi kamus. Setiap elemen string dalam daftar berfungsi sebagai kunci dan nilai dalam kamus yang dihasilkan.





Kamus dibuat dengan perbandingan kunci yang tidak peka huruf besar-kecil menggunakan parameter StringComparer.OrdinalIgnoreCase yang terutama digunakan untuk menentukan perbandingan tidak peka huruf besar-kecil saat memeriksa keberadaan kunci. Pernyataan “jika” memeriksa apakah kamus berisi kunci “bom” sambil mengabaikan huruf besar/kecilnya. Jika kunci ditemukan, cuplikan kode di bagian “jika” akan diproses. Di dalam blok “if”, pernyataan Console.WriteLine(“Bombshell ada”) dijalankan yang mencetak pesan “Bombshell ada” ke konsol.

menggunakan Sistem ;

menggunakan Sistem. Koleksi . Umum ;

menggunakan Sistem. Linq ;

kelas boneka

{

statis ruang kosong Utama ( )

{

Daftar < rangkaian > L = Daftar baru < rangkaian > ( ) { 'Opium Hitam' , 'Bom' , 'GucciFlora' } ;

adalah Parfum = L. Ke Kamus ( X => X , X => BENAR , Pembanding String. OrdinalIgnoreCase ) ;

jika ( Parfum. BerisiKey ( 'bom' ) )

{

Menghibur. Garis Tulis ( 'Bom itu ada' ) ;

}

}

}

Karena kamus dibuat dengan perbandingan case-insensitive, kunci “bombshell” cocok dengan kunci “Bombshell” yang sebenarnya dalam kamus. Hasilnya, pesan “Bombshell ada” dicetak di konsol seperti yang ditampilkan pada gambar keluaran terlampir berikut:



Contoh 2:

Dalam contoh kode sebelumnya, kami menunjukkan bagaimana koleksi sederhana dapat diubah menjadi kamus melalui fungsi ToDictionary. Sekarang, kita akan beralih ke sedikit contoh kode lanjutan C# untuk demonstrasi penggunaan fungsi C# ToDictionary. Mari kita uraikan kodenya baris demi baris.

Cuplikan kode ilustrasi ini dimulai dengan memasukkan namespace wajib yang sama: System, System.Collections.Generic, dan System.Linq. Namespace ini menyediakan kelas dan metode ekstensi yang diperlukan untuk bekerja dengan koleksi dan LINQ untuk contoh kode ini. Kelas 'Dummy' didefinisikan sebagai titik masuk.

Di dalam metode “Utama” bahasa C#, daftar bernama “L” terbentuk. Daftar ini berisi tiga objek kelas “Data” yang mewakili berbagai produk kosmetik beserta harga dan mereknya. Setiap objek data diinisialisasi menggunakan sintaks penginisialisasi objek. Properti “Harga” dan “Merek” setiap objek ditetapkan dengan nilai tertentu.

Inilah metode ToDictionary. Ini disebut di sini pada daftar “L”. Ini mengubah daftar menjadi kamus di mana properti “Harga” digunakan sebagai kunci dan properti “Merek” digunakan sebagai nilai. Kamus yang dihasilkan ditetapkan ke variabel “Dic” seperti yang disebutkan dalam cuplikan kode yang disediakan berikut. Perulangan 'foreach' dibuang untuk memanggil pasangan nilai kunci dalam kamus 'Dic'.

Di dalam loop, kunci dan nilai setiap pasangan diakses menggunakan properti “Key” dan “Value” dari struktur KeyValuePair. Pernyataan fungsi Console.WriteLine mencetak setiap pasangan nilai kunci ke konsol. Outputnya diformat menggunakan interpolasi string untuk menampilkan informasi harga dan merek secara terpisah.

Di sini, kelas “Data” didefinisikan dengan dua properti: “Harga” (bilangan bulat yang mewakili harga produk kosmetik) dan “Merek” (string yang mewakili nama merek suatu produk).

menggunakan Sistem ;

menggunakan Sistem. Koleksi . Umum ;

menggunakan Sistem. Linq ;

kelas boneka

{

statis ruang kosong Utama ( )

{

Daftar < Data > L = Daftar baru < Data > ( )

{

data baru { Harga = 13000 , Merek = 'Huda Cantik' } ,

data baru { Harga = 15000 , Merek = 'Charlotte Telburry' } ,

data baru { Harga = 11000 , Merek = 'Nar' }

} ;

Kamus < ke dalam , rangkaian > Desember = L. Ke Kamus ( P => P. Harga , P => P. Merek ) ;

untuk setiap ( var v di Dic )

{

Menghibur. Garis Tulis ( $ 'Harga: {v.Key}, Merek: {v.Value}' ) ;

}

}

}

data kelas

{

publik ke dalam Harga { mendapatkan ; mengatur ; }

string publik Merek { mendapatkan ; mengatur ; }

}

Ketika kode dieksekusi, ia membuat daftar objek data, mengubah daftar tersebut menjadi kamus menggunakan metode ToDictionary, dan kemudian menampilkan pasangan nilai kunci kamus menggunakan loop “foreach”.

Output untuk contoh kode ini disediakan sebagai berikut. Ini menunjukkan harga dan merek produk kosmetik yang disimpan dalam kamus berdasarkan properti tertentu, memberikan cara mudah untuk mengatur dan mengakses data dalam pasangan nilai kunci. Output dari kode sebelumnya menunjukkan tiga catatan untuk kamus:

Kesimpulan

Panduan C# ini mendemonstrasikan penggunaan metode C# ToDictionary melalui beberapa ilustrasi kode dasar dan tepat. Dengan menawarkan mekanisme yang jelas dan ekspresif untuk mendeskripsikan pasangan nilai kunci, metode ToDictionary mempermudah pengubahan koleksi menjadi kamus. Ini adalah utilitas C# yang kuat untuk memanipulasi dan mengubah data.