जेनेरिक संग्रह निश्चित रूप से उनकी अभिव्यक्ति की वजह से पसंद किया जाता है। गैर-जेनेरिक संग्रह से बदलते समय ध्यान में रखना एक बात यह है कि कभी-कभी व्यवहार अपेक्षा से अलग हो सकता है। उदाहरण के लिए, एक हैशटेबल बनाम एक इंडेक्स पर इंडेक्सर का उपयोग उन मानों के लिए अलग-अलग कार्य करेगा जो मौजूद नहीं हैं। हशटेबल वापस फेंक देगा जबकि शब्दकोश फेंक देगा।
string s = null;
if (dic.TryGetValue(k, out s))
{
// if we're here, k was found in the dictionary
}
यह तो यह समय से आगे जानने लायक है केवल क्रम पर दिखाई देगा:
Hashtable ht = new Hashtable();
ht.Add(1, "one");
string s1 = ht[1; // s1="one"
string s2 = ht[2]; // s2=null
var dic = new Dictionary<int, string>();
dic.Add(1, "one");
string s1 = dic[1]; // s1="one"
string s2 = dic[2]; // throws KeyNotFoundException
एक आम तरीका है इस संभाल करने के लिए निम्न तकनीक का उपयोग करने के लिए है।
स्रोत
2008-11-29 17:20:51
और इसी प्रकार, IComparable –
jalf
@jalf के साथ IComparable, धन्यवाद, पूरी तरह से इसके बारे में भूल गए। –