Avatar ·

C# में Dictionary<TKey, TValue> Hashtable से बेहतर क्यों है?

सभी को नमस्ते! मैंने हाल ही में C# सीखना शुरू किया है और collections के बारे में जाना। मैं देख रहा हूँ कि `Hashtable` ( `System.Collections` से) और `Dictionary` ( `System.Collections.Generic` से) हैं। दोनों key-value pairs store करते हैं, लेकिन हर जगह `Dictionary` का उपयोग करने की सलाह दी जाती है। मैंने `Hashtable` के साथ एक छोटा उदाहरण लिखा: ```csharp Hashtable table = new Hashtable(); table.Add("key1", 123); table.Add("key2", "string"); foreach (DictionaryEntry entry in table) { Console.WriteLine($"{entry.Key}: {entry.Value}"); } ``` और `Dictionary` के साथ: ```csharp Dictionary dict = new Dictionary(); dict.Add("key1", 123); dict.Add("key2", 456); // यहाँ सब कुछ strict है foreach (KeyValuePair kvp in dict) { Console.WriteLine($"{kvp.Key}: {kvp.Value}"); } ``` लेकिन मुझे समझ नहीं आ रहा कि `Dictionary` को अधिक पसंद क्यों किया जाता है। आखिर `Hashtable` उपयोग करने में आसान है — इसमें types specify करने की ज़रूरत नहीं है, और यह किसी भी objects को accept करता है। इसमें क्या ख़तरा है? क्या कोई