मैं संरचना इस तरह का उपयोग करने के लिए होता है काफी एक बहुत कुछ:सी # में सूची के शब्दकोशों को शुरू करने के दर्द को मैं कैसे कम कर सकता हूं?
Dictionary<string, List<string>> Foo = new Dictionary<string, List<string>>();
कौन सा कोड के इस प्रकार की ओर जाता है:
foreach (DataRow dr in ds.Tables[0].Rows)
{
List<string> bar;
if (!Foo.TryGetValue(dr["Key"].ToString(), out desks))
{
bar= new List<string>();
Foo.Add(dr["Key"].ToString(), bar);
}
bar.Add(dr["Value"].ToString());
}
क्या आपको लगता है यह एक कस्टम DictionaryOfList वर्ग लेखन के लायक जो इस संभाल होता है चीजों की तरह स्वचालित रूप से?
क्या उन सूचियों को आलसी शुरू करने का कोई और तरीका है?
foreach (DataRow dr in ds.Tables[0].Rows)
{
Foo.GetValueOrCreateDefault(dr["Key"]).Add(dr["Value"].ToString())
}
शायद तुम यहां तक कि पूरी initialisation के लिए एक विस्तार विधि लिख सकते हैं: GetValueOrCreateDefault() या कुछ है कि जैसे -
क्या थोड़े बात आप के लिए यह संरचना उपयोगी पाते हैं? एक बिल्कुल नया प्रोग्रामर होने के नाते मुझे लगता है कि मैंने अभी तक शब्दकोश संरचना का उपयोग इतना नहीं किया है! – RYFN
फ्रेमवर्क संस्करण जानकारी उपयोगी होगी, LINQ इसे बहुत क्लीनर बना सकता है – AnthonyWJones
@ एंथनी: दरअसल। संपादित टैग .net3.5 – Brann