Table of Contents
Hash table function
Example 2
Output
Home Backend Development C#.Net Tutorial How to create a HashTable collection in C#?

How to create a HashTable collection in C#?

Aug 31, 2023 pm 11:13 PM

如何在 C# 中创建 HashTable 集合?

HashTable is a non-generic collection in C#. It stores key-value pairs, similar to a general-purpose "dictionary" collection. HashTable is defined in

System. Collections. namespace.
Copy after login

HashTable Calculate the hash code for each key and store it in different buckets internally. Then, when the value is accessed, the hash code is matched against the hash code of the specified key. Therefore, lookup is optimized via HashTable.

In this tutorial, we will learn how to create a HashTable collection in C#.

Hash table function

Before we start creating a HashTable, let us look at some of the notable features of the HashTable collection in C#.

HashTable collection stores key-value pairs.

The hash table is part of the system. Collection namespace in C# and implements the IDictionary interface. The elements of a HashTable are stored as DictionaryEntry objects.

The key of the hash table cannot be empty and is unique. However, the value can be empty or duplicate.

Values ​​in a hash table can be accessed using the keys in the indexer, just like array values.

Keys in HashTable are immutable objects. Each of these key objects provides a hash function.

The typical Hashtable class implements C#'s IDictionary, ICollection, ISerializable, IEnumerable, IDeserializationCallback and ICloneable interfaces.

The elements stored in HashTable can be of the same type or different types.

Keeping these salient features in mind, let us now discuss how to create a hash table in C#.

How to create a HashTable collection in C#?

C#'s HashTable class provides 16 overloaded constructors to create HashTable.

The following table shows the HashTable constructor we will use in this article.

Constructor describe
Hash table() Initialize a new, empty instance of the HashTable class with default initial capacity, hash code provider, comparator and load factor.
Hash table (IDictionary) Create a new instance of the Hashtable class and initialize it with the contents of the specified dictionary.

Note- To know more about HashTable class in C#, read our article C#-HashTable class.

Let us look at the steps usually followed to create a HashTable collection in C#.

First, we include the System.collection namespace in our program

using System. Collections;
Copy after login

Next, we create a hash table using the Hashtable class. For this we use the default constructor.

Hashtable hashtable_name = new Hashtable();
Copy after login

Now we can use the "Add()" method to add elements to the HashTable.

So here, we can initialize the entire HashTable while creating a HashTable instance, or we can use the Add() method to add elements to the HashTable one by one.

Example 1

The following program demonstrates creating a HashTable in C#.

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");
      indianNumberSystem.Add(10000,"Ten Thousand");
      indianNumberSystem.Add(100000,"Lac");
      indianNumberSystem.Add(1000000,"Ten Lac");
      indianNumberSystem.Add(10000000,"Crore");
      
      //display HashTable contents
      Console.WriteLine("Key, Value pairs from Indian Number System:");
      foreach(DictionaryEntry ele1 in indianNumberSystem){
         Console.WriteLine("{0} ({1}) ", ele1.Key, ele1.Value);
      }      
   }
}
Copy after login

In the above program, we define a HashTable instance using the default constructor. We then add the key/value pairs to the HashTable using the Add() method. Finally, use a for-each loop to print out the contents of the HashTable one by one.

Output

The above program generates the following output.

Key, Value pairs from Indian Number System:
100 (Hundred) 
1000 (Thousand) 
10 (Tens) 
1000000 (Ten Lac) 
100000 (Lac) 
10000000 (Crore) 
10000 (Ten Thousand) 
1 (Ones)
Copy after login

The program displays a hash table containing the place values ​​of the Indian numeral system. Note that since this is a simple program that creates a hash table and adds content to it, the output is unformatted.

Example 2

Let’s take another example of creating a HashTable in C#. The following program uses different constructors to create a HashTable.

using System;
using System.Collections;
class MyHashTable {
   // Main Method
   static public void Main() {

      // Create hashtable without using Add method
      Hashtable my_hashtable1 = new Hashtable() {{"K1", "New York"}};

      // Adding key/value pair in the hashtable using Add() method
      my_hashtable1.Add("K2", "Paris");
      my_hashtable1.Add("K3", "London");
      my_hashtable1.Add("K4", "Mumbai");
      my_hashtable1.Add("K5", "Berlin");
      
      Console.WriteLine("Key, Value pairs from my_hashtable1:");
      foreach(DictionaryEntry ele1 in my_hashtable1){
         Console.WriteLine("{0} and {1} ", ele1.Key, ele1.Value);
      }      
   }
}
Copy after login

As we can see in the code above, first we create a HashTable object with a key-value pair. Then we use the add() method of the HashTable class to add elements to the HashTable. Finally, using a for-each loop, iterate over the HashTable object to print each hashTable element (key-value pair).

Output

The above program produces the following output.

Key, Value pairs from my_hashtable1:
K2 and Paris 
K1 and New York 
K3 and London 
K4 and Mumbai 
K5 and Berlin 
Copy after login

In the above output, the key-value pairs are displayed in reverse alphabetical order of values. This is the default output of the hash table because we did not provide any code to format the output. The HashTable class provides various methods to organize/format the output, which we will learn in subsequent tutorials.

In this tutorial, we discussed how to create a HashTable collection in C#. HashTable is a non-generic collection of key-value pairs. The keys in the HashTable are unique non-null values. Values ​​can be empty and repeated. We can create a HashTable in C# using the HashTable class provided by Systems. Collection interface and modify it using the various methods provided by this class.

The above is the detailed content of How to create a HashTable collection in C#?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use various symbols in C language How to use various symbols in C language Apr 03, 2025 pm 04:48 PM

The usage methods of symbols in C language cover arithmetic, assignment, conditions, logic, bit operators, etc. Arithmetic operators are used for basic mathematical operations, assignment operators are used for assignment and addition, subtraction, multiplication and division assignment, condition operators are used for different operations according to conditions, logical operators are used for logical operations, bit operators are used for bit-level operations, and special constants are used to represent null pointers, end-of-file markers, and non-numeric values.

What is the role of char in C strings What is the role of char in C strings Apr 03, 2025 pm 03:15 PM

In C, the char type is used in strings: 1. Store a single character; 2. Use an array to represent a string and end with a null terminator; 3. Operate through a string operation function; 4. Read or output a string from the keyboard.

How to handle special characters in C language How to handle special characters in C language Apr 03, 2025 pm 03:18 PM

In C language, special characters are processed through escape sequences, such as: \n represents line breaks. \t means tab character. Use escape sequences or character constants to represent special characters, such as char c = '\n'. Note that the backslash needs to be escaped twice. Different platforms and compilers may have different escape sequences, please consult the documentation.

The difference between char and wchar_t in C language The difference between char and wchar_t in C language Apr 03, 2025 pm 03:09 PM

In C language, the main difference between char and wchar_t is character encoding: char uses ASCII or extends ASCII, wchar_t uses Unicode; char takes up 1-2 bytes, wchar_t takes up 2-4 bytes; char is suitable for English text, wchar_t is suitable for multilingual text; char is widely supported, wchar_t depends on whether the compiler and operating system support Unicode; char is limited in character range, wchar_t has a larger character range, and special functions are used for arithmetic operations.

The difference between multithreading and asynchronous c# The difference between multithreading and asynchronous c# Apr 03, 2025 pm 02:57 PM

The difference between multithreading and asynchronous is that multithreading executes multiple threads at the same time, while asynchronously performs operations without blocking the current thread. Multithreading is used for compute-intensive tasks, while asynchronously is used for user interaction. The advantage of multi-threading is to improve computing performance, while the advantage of asynchronous is to not block UI threads. Choosing multithreading or asynchronous depends on the nature of the task: Computation-intensive tasks use multithreading, tasks that interact with external resources and need to keep UI responsiveness use asynchronous.

How to convert char in C language How to convert char in C language Apr 03, 2025 pm 03:21 PM

In C language, char type conversion can be directly converted to another type by: casting: using casting characters. Automatic type conversion: When one type of data can accommodate another type of value, the compiler automatically converts it.

What is the function of C language sum? What is the function of C language sum? Apr 03, 2025 pm 02:21 PM

There is no built-in sum function in C language, so it needs to be written by yourself. Sum can be achieved by traversing the array and accumulating elements: Loop version: Sum is calculated using for loop and array length. Pointer version: Use pointers to point to array elements, and efficient summing is achieved through self-increment pointers. Dynamically allocate array version: Dynamically allocate arrays and manage memory yourself, ensuring that allocated memory is freed to prevent memory leaks.

How to use char array in C language How to use char array in C language Apr 03, 2025 pm 03:24 PM

The char array stores character sequences in C language and is declared as char array_name[size]. The access element is passed through the subscript operator, and the element ends with the null terminator '\0', which represents the end point of the string. The C language provides a variety of string manipulation functions, such as strlen(), strcpy(), strcat() and strcmp().

See all articles