Program C# untuk menggantikan item dalam satu jadual cincang dengan jadual cincang yang lain

PHPz
Lepaskan: 2023-09-03 21:45:02
ke hadapan
812 orang telah melayarinya

将一个哈希表中的项目替换为另一个哈希表中的 C# 程序

Koleksi jadual cincang dalam C# ialah koleksi bukan generik pasangan nilai kunci yang disusun berdasarkan kod cincang kunci. Kekunci digunakan untuk mengakses elemen dalam koleksi jadual cincang. Hashing membantu kami mendapatkan semula data dengan cekap dan menghapuskan keperluan untuk teknik carian data yang mahal. Teknik pencincangan menggunakan kunci itu sendiri untuk mencari data. Kekunci jadual cincang tidak boleh diubah dan entri pendua tidak dibenarkan dalam jadual cincang.

Kelas Hashtable ditakrifkan dalam ruang nama System.Collections dan menyediakan perpustakaan kelas asas untuk koleksi jadual hash dalam C#. Kelas Hashtable ini digunakan untuk mencipta koleksi pasangan nilai kunci yang disimpan dalam jadual cincang. Pencarian untuk kunci tertentu dioptimumkan dengan mengira kod cincang kunci dan menyimpannya dalam bakul lain. Apabila kita mengakses nilai daripada jadual cincang, ia sepadan dengan kod cincang dengan kunci yang ditentukan.

Dalam tutorial ini, kita akan membincangkan cara untuk menggantikan item atau elemen dalam jadual cincang dengan item atau elemen daripada jadual cincang yang lain.

Bagaimana untuk menggantikan item dalam satu Hashtable dengan Hashtable yang lain?

Kelas Hashtable yang dibincangkan di atas menyediakan pembina untuk mencipta objek Hashtable dan kaedah untuk menambah, mengalih keluar elemen dan menyemak sama ada unsur, kunci atau nilai wujud dalam jadual hash. Ia juga menyediakan sifat untuk menyemak sama ada jadual hash kosong, mengira bilangan elemen dalam jadual hash, dsb.

Tetapi ia tidak membenarkan kaedah kami menggantikan keseluruhan item jadual hash daripada jadual hash lain. Kita boleh menggantikan item individu dengan menggantikan nilai.

Untuk menggantikan kandungan keseluruhan jadual cincang dengan kandungan jadual cincang yang lain, biasanya kami melingkari keseluruhan jadual cincang kedua dan menggantikan kandungan jadual cincang pertama dengan kandungan jadual cincang kedua .

Kami akan menggunakan kaedah yang ditunjukkan di bawah.

foreach (DictionaryEntry item in secondHashtable) {
   firstHashtable[item.Key] = item.Value;
   Console.WriteLine("{0} ({1}) ", item.Key, item.Value);
}
Salin selepas log masuk

Pertama, kami mengulangi jadual cincang kedua dan menggantikan pasangan nilai kunci jadual cincang pertama dengan setiap pasangan nilai kunci bagi jadual cincang kedua.

Contoh

Keseluruhan program untuk melaksanakan kaedah ini ditunjukkan di bawah.

using System;
using System. Collections;
class MyHashTable {
   // Main Method
   static public void Main() {
      // Create hashtable using the default constructor
      Hashtable indianNumberSystem = new Hashtable();
     
      //add a key/value pair using the Add() method
      indianNumberSystem.Add(1,"Ones");
      indianNumberSystem.Add(10,"Tens");
      indianNumberSystem.Add(100,"Hundred");
      indianNumberSystem.Add(1000,"Thousand");
      Console.WriteLine("Contents of indianNumberSystem hashtable:");
      foreach(DictionaryEntry ele1 in indianNumberSystem){
         Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value);
      }
      Hashtable langCodes = new Hashtable();
      langCodes.Add("C++","CPlusPlus");
      langCodes.Add("C#","CSharp");
      langCodes.Add("Java","Java");
      langCodes.Add("PL","Perl");
      Console.WriteLine("Contents of langCodes Hashtable:");
      foreach(DictionaryEntry ele1 in langCodes){
         Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value);
      }
      Console.WriteLine("After Replacing with langCodes, indianNumberSystem: ");
      foreach (DictionaryEntry item in langCodes) {
         indianNumberSystem[item.Key] = item.Value;
         Console.WriteLine("{0} ({1}) ", item.Key, item.Value);
      }
   }
}
Salin selepas log masuk

Di sini kami mempunyai dua jadual cincang, indianNumberSystem dan langCodes. Kami mengisi dua jadual hash dengan nilai dan kemudian memaparkan kandungannya. Kami kemudiannya mengulangi jadual cincang langCodes dan menggantikan setiap elemen jadual cincang indianNumberSystem dengan elemen jadual cincang langCodes.

Output program ini ditunjukkan di bawah.

Output

Contents of indianNumberSystem hashtable:
1000 (Thousand) 
10 (Tens) 
100 (Hundred) 
1 (Ones) 
Contents of langCodes Hashtable:
Java (Java) 
C# (CSharp) 
PL (Perl) 
C++ (CPlusPlus) 
After Replacing with langCodes, indianNumberSystem: 
Java (Java) 
C# (CSharp) 
PL (Perl) 
C++ (CPlusPlus) 
Salin selepas log masuk

Kita dapat lihat daripada output bahawa selepas penggantian, kandungan indianNumberSystem digantikan dengan kandungan langCodes.

Contoh

Sekarang mari kita lihat contoh seterusnya.

Dalam contoh ini, kita akan mempunyai dua jadual cincang: indianNumberSystem dan numSys. Di sini kami tidak mengisi jadual hash indianNumberSystem. Kami hanya mencipta objek. Nilai berikut telah ditambahkan pada jadual cincang numSys menggunakan kaedah Tambah.

1

satu

10

100

Seratus

1000

Ribuan

Program lengkap untuk contoh ini ditunjukkan di bawah.

using System;
using System. Collections;
class MyHashTable {
   // Main Method
   static public void Main() {
      // Create hashtable using the default constructor
      Hashtable indianNumberSystem = new Hashtable();
      Hashtable numSys = new Hashtable();
      numSys.Add(1,"Ones");
      numSys.Add(10,"Tens");
      numSys.Add(100,"Hundred");
      numSys.Add(1000,"Thousand");
      Console.WriteLine("Contents of numSys Hashtable:");
         foreach(DictionaryEntry ele1 in numSys){
         Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value);
      }
      Console.WriteLine("After Replacing with numSys, indianNumberSystem: ");
      foreach (DictionaryEntry item in numSys) {
         indianNumberSystem[item.Key] = item.Value;
         Console.WriteLine("{0} ({1}) ", item.Key, item.Value);
      }
   }
}
Salin selepas log masuk

Di sini kami menggunakan kaedah yang sama seperti program pertama, cuma bezanya jadual hash pertama kosong. Kami kemudian terus menggantikan atau mengalihkan item jadual cincang kedua ke dalam jadual cincang pertama.

Output

Output program ini diberikan di bawah.

Contents of numSys Hashtable:
1000 (Thousand)
10 (Tens)
100 (Hundred)
1 (Ones)
After Replacing with numSys, indianNumberSystem:
1000 (Thousand)
10 (Tens)
100 (Hundred)
1 (Ones)
Salin selepas log masuk

Seperti yang ditunjukkan oleh output program, kandungan jadual numSys kini adalah kandungan indianNumberSystem.

Jadi, dengan menggunakan gelung mudah dan mengulangi jadual cincang kita boleh menggantikan item di dalamnya dengan jadual cincang yang lain.

Atas ialah kandungan terperinci Program C# untuk menggantikan item dalam satu jadual cincang dengan jadual cincang yang lain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
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