Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Hashtable में की/वैल्यू पेयर्स की गिनती कैसे करें

Hashtable.Count प्रॉपर्टी का उपयोग करके की/वैल्यू पेयर्स की संख्या प्राप्त करें।

उदाहरण 1: बेसिक काउंट

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Hashtable hash = new Hashtable();
        hash.Add("A", "SUV");
        hash.Add("B", "MUV");
        hash.Add("C", "AUV");
        
        Console.WriteLine("Hashtable elements...");
        foreach (DictionaryEntry d in hash) {
            Console.WriteLine(d.Key + " " + d.Value);
        }
        
        Console.WriteLine("Count of Key/value pairs = " + hash.Count);  // 3
        
        hash.Add("D", "Utility Vehicle");
        hash.Add("E", "Convertible");
        
        Console.WriteLine("Count of Key/value pairs (Updated) = " + hash.Count);  // 5
    }
}

आउटपुट

Hashtable elements...
C AUV
A SUV
B MUV
Count of Key/value pairs = 3
Count of Key/value pairs (Updated) = 5

उदाहरण 2: कैपेसिटी और एन्यूमरेटर के साथ

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        Hashtable hash = new Hashtable(10);  // प्रारंभिक कैपेसिटी
        hash.Add("1", "A");
        hash.Add("2", "B");
        hash.Add("3", "C");
        hash.Add("4", "D");
        hash.Add("5", "E");
        hash.Add("6", "F");
        hash.Add("7", "G");
        hash.Add("8", "H");
        hash.Add("9", "I");
        hash.Add("10", "J");
        
        Console.WriteLine("Hashtable Key and Value pairs...");
        foreach (DictionaryEntry entry in hash) {
            Console.WriteLine("{0} and {1} ", entry.Key, entry.Value);
        }
        
        Console.WriteLine("Is the Hashtable having fixed size? = " + hash.IsFixedSize);
        Console.WriteLine("Count of key/value pairs in Hashtable = " + hash.Count);
        
        Console.WriteLine("\nEnumerator to iterate through the Hashtable...");
        IDictionaryEnumerator demoEnum = hash.GetEnumerator();
        while (demoEnum.MoveNext()) {
            Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
        }
    }
}

आउटपुट

Hashtable Key and Value pairs...
10 and J
1 and A
2 and B
3 and C
4 and D
5 and E
6 and F
7 and G
8 and H
9 and I
Is the Hashtable having fixed size? = False
Count of key/value pairs in Hashtable = 10
Enumerator to iterate through the Hashtable...
Key = 10, Value = J
Key = 1, Value = A
Key = 2, Value = B
Key = 3, Value = C
Key = 4, Value = D
Key = 5, Value = E
Key = 6, Value = F
Key = 7, Value = G
Key = 8, Value = H
Key = 9, Value = I

महत्वपूर्ण बिंदु

  • Count प्रॉपर्टी O(1) है - तत्काल लौटाता है
  • Hashtable नॉन-जेनेरिक है - की और वैल्यू दोनों object हैं
  • कीज़ यूनिक होनी चाहिए - डुप्लीकेट की ArgumentException फेंकती है
  • IsFixedSize हमेशा false लौटाता है
  • ऑर्डर गारंटीड नहीं है (हैश-आधारित)

आधुनिक विकल्प: Dictionary<TKey, TValue>

// जेनेरिक, टाइप-सेफ, तेज़
var dict = new Dictionary<string, string>();
dict.Add("A", "SUV");
dict.Add("B", "MUV");

int count = dict.Count;  // समान API

// थ्रेड-सेफ संस्करण
var concurrentDict = new ConcurrentDictionary<string, string>();

Hashtable vs Dictionary तुलना

विशेषताHashtableDictionary<TKey,TValue>
टाइप सेफ्टीनहीं (object)हाँ (जेनेरिक)
पेरफॉरमेंसबॉक्सिंग/अनबॉक्सिंग ओवरहेडबेहतर (कोई बॉक्सिंग नहीं)
नल कीअनुमतअनुमत नहीं (डिफ़ॉल्ट)
थ्रेड सेफ्टीSyncRoot के माध्यम सेनहीं (ConcurrentDictionary उपयोग करें)
  1. - C# में सरणी में 1 की घटनाओं की गिनती

    एक पूर्णांक सरणी में विशिष्ट मान (जैसे 1) की घटनाओं की गिनती के लिए हम foreach लूप और काउंटर का उपयोग करते हैं। उदाहरण using System; public class Demo { public static void Main() { int count = 0; int[] num = new int[] { 1, 25, 1, 55, 1 }; Console.WriteLine(Numbers:);

  1. - C# में स्ट्रिंग में शब्दों की संख्या गिनना

    स्ट्रिंग में शब्दों की गिनती के लिए हम व्हाइटस्पेस कैरेक्टर्स (स्पेस, टैब, नई लाइन) को विभाजक (डिलीमीटर) के रूप में उपयोग करते हैं। उदाहरण: मैन्युअल लूप using System; public class Demo { public static void Main() { int index = 0, wordCount = 1; // कम से कम 1 शब्द मानकर string s

  1. Redis HLEN कमांड: हैश फील्ड्स की संख्या तुरंत गिनें Redis HLEN कमांड: हैश फील्ड्स की संख्या तुरंत गिनें

    सिंटैक्स: redis host:port> HLEN <key name> आउटपुट: - (पूर्णांक) मान, हैश में फील्ड्स की संख्या दर्शाता है। - 0, यदि की मौजूद नहीं है। - त्रुटि, यदि की मौजूद है और की पर संग्रहीत मान हैश नहीं है। उदाहरण: संदर्भ: HLEN कमांड डॉक्स Redis डेटास्टोर में संग्रहीत हैश मान में समाहित फील्ड्स