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 करता है। इसमें क्या ख़तरा है? क्या कोई