c list dictionary tutorial with code examples
यह ट्यूटोरियल उदाहरणों के साथ C # सूची और शब्दकोश की व्याख्या करता है। आप सीखेंगे कि C # डिक्शनरी और लिस्ट में तत्वों को कैसे इनिशियलाइज़, पॉपुलेट और एक्सेस करें:
C # कलेक्शंस पर हमारे पहले के ट्यूटोरियल में, हमने C # में मौजूद प्रकारों के बारे में सीखा, जैसे ArrayList, Hashtable, Stack, SortedList, आदि। इन संग्रह प्रकारों में जो बात आम है, वह यह है कि वे किसी भी प्रकार के डेटा आइटम को संग्रहीत कर सकते हैं।
यह एक एकल संग्रह इकाई के अंदर विभिन्न डेटा प्रकारों को संग्रहीत करने के लिए काफी उपयोगी लगता है, लेकिन नकारात्मक पक्ष यह है कि संग्रह से डेटा प्राप्त करते समय, एक लागू डेटा प्रकार के लिए डिटैचिंग की आवश्यकता होती है। डेटाकास्ट के बिना, प्रोग्राम एक रनटाइम अपवाद को फेंक देगा और एप्लिकेशन को बाधित कर सकता है।
=> सभी के लिए मुफ्त सी # प्रशिक्षण ट्यूटोरियल
इन मुद्दों को हल करने के लिए, C # सामान्य संग्रह कक्षाएं भी प्रदान करता है। एक सामान्य संग्रह वस्तुओं के भंडारण और पुनः प्राप्ति के दौरान बेहतर प्रदर्शन प्रदान करता है।
आप क्या सीखेंगे:
सी # सूची
हम पिछले लेखों में पहले से ही ArrayList के बारे में जान चुके हैं। मूल रूप से, एक सूची एक ArrayList के समान है, केवल अंतर यह है कि सूची सामान्य है। इस सूची में सरणी सूची के समान, इसका आकार बढ़ने की एक अद्वितीय संपत्ति है।
कैसे एक सूची शुरू करने के लिए?
हम निम्नलिखित तरीकों से सूची को इनिशियलाइज़ कर सकते हैं:
//using List type for initialization List listInteger = new List(); //using IList type for initialization IList listString = new List();
यदि आप उपर्युक्त उदाहरण को देखते हैं तो आप देख सकते हैं कि पहली पंक्ति में हमने एक पूर्णांक सूची को आरम्भ करने के लिए सूची का उपयोग किया है। लेकिन दूसरी पंक्ति में, हमने स्ट्रिंग सूची के प्रारंभ के लिए IList का उपयोग किया है। आप अपने प्रोग्राम के लिए इनमें से किसी का भी उपयोग कर सकते हैं। सूची वास्तव में इंटरफ़ेस IList का कार्यान्वयन है।
सूची में तत्व कैसे जोड़ें और डालें?
ArrayList के समान हम Add () पद्धति का उपयोग करके सूची में एक तत्व जोड़ सकते हैं। ऐड मेथड तर्क के रूप में डेटा टाइप वैल्यू को स्वीकार करता है।
वाक्य - विन्यास
ListName.Add(DataType value);
आइए एक सूची और IList में डेटा जोड़ने के लिए एक सरल प्रोग्राम पर एक नज़र डालें।
कार्यक्रम:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List ;(); //Add elements to the list listInteger.Add(1); listInteger.Add(2); listInteger.Add(3); //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } }
सूची को प्रारंभ करते समय तत्व को सीधे जोड़ा जा सकता है। हम सूची के मूल्य को सीधे आरंभीकरण के समय जोड़ सकते हैं, उसी तरह से जैसे हमने अपने Arrays अध्याय के दौरान किया था।
यह सूची के बाद घुंघराले ब्रैकेट रखकर और फिर कॉमा द्वारा अलग किए गए इसके अंदर के मूल्य को लिखकर जोड़ा जा सकता है। उपरोक्त कार्यक्रम को थोड़ा बदल दें ताकि हम आरंभीकरण के दौरान सीधे मूल्य जोड़ सकें।
चरित्र को स्ट्रिंग c ++ में बदलें
तो, हमारा कार्यक्रम अब दिखेगा:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } }
उपरोक्त कार्यक्रम में, हमने प्रारंभ के दौरान प्रारंभ में पूर्णांक सूची मानों को आरंभीकृत किया। इसने हमें प्रत्येक मूल्य के लिए ऐड () विधि को लिखे बिना सीधे मान को पास करने की अनुमति दी। यह काफी उपयोगी है यदि हमारे पास सीमित मात्रा में डेटा है जिसे हमें किसी सूची के अंदर रखना है।
कैसे पहुंचें सूची?
हम इंडेक्स का उपयोग करके सूची से अलग-अलग आइटम तक पहुंच सकते हैं। सूची के नाम के बाद सूचकांक को वर्ग कोष्ठक में पारित किया जा सकता है।
वाक्य - विन्यास
dataType Val = list_Name(index);
अब, हम अपने पिछले कार्यक्रम में बनाई गई सूची से डेटा प्राप्त करने के लिए एक साधारण प्रोग्राम पर एक नजर डालते हैं।
कार्यक्रम
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; int val = listInteger(1); Console.WriteLine(val); } }
निम्न प्रोग्राम का आउटपुट इंडेक्स पर मूल्य होगा। इंडेक्स 0 से शुरू होता है, आउटपुट होगा:
दो
अब, हम कहते हैं कि हम सूची से सभी डेटा प्राप्त करना चाहते हैं, हम प्रत्येक लूप के लिए या लूप का उपयोग करके ऐसा कर सकते हैं।
प्रत्येक लूप के लिए
हम सूची से सभी डेटा प्राप्त करने के लिए प्रत्येक लूप का उपयोग कर सकते हैं।
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; foreach (var val in listInteger) { Console.WriteLine(val); } } }
यहां हमने एक वैरिएबल वैल्यू घोषित करके प्रत्येक लूप का उपयोग करके सूची के माध्यम से लूप किया है। यह सूची के माध्यम से प्रत्येक लूप के लिए अनुमति देगा जब तक कि इसके अंदर कुछ डेटा न हो।
पाश के लिए
लूप के लिए उपयोग करने के लिए हमें सूची के अंदर मौजूद तत्वों की संख्या को जानना होगा। गणना () विधि का उपयोग तत्व की गिनती प्राप्त करने के लिए किया जा सकता है।
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; iशायद ही कभी हमें सूची के अंदर एक नया तत्व सम्मिलित करने की आवश्यकता हो सकती है। ऐसा करने के लिए हमें सूची के अंदर कहीं भी नई विधि जोड़ने के लिए इंसर्ट () विधि का उपयोग करना होगा। सम्मिलित विधि दो तर्कों को स्वीकार करती है, पहला वह सूचकांक है जिस पर आप डेटा डालना चाहते हैं और दूसरा वह डेटा है जिसे आप सम्मिलित करना चाहते हैं।
सम्मिलित करने के लिए सिंटैक्स है:
List_Name.Insert(index, element_to_be_inserted);
अब, हम पहले बनाई गई सूची के अंदर एक तत्व डालें। हम उपरोक्त कार्यक्रम में एक सम्मिलित विवरण जोड़ेंगे और यह देखने की कोशिश करेंगे कि यह कैसे काम करता है:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i यदि हम उपरोक्त प्रोग्राम को निष्पादित करते हैं तो आउटपुट होगा:
एक
दो
३
नई वैल डालने के बाद सूची मूल्य
एक
२२
दो
३
लूप के लिए, हमने पिछली परिभाषित सूची में इंडेक्स 1 पर पूर्णांक 22 सम्मिलित करने के लिए इंसर्ट स्टेटमेंट जोड़ा। तब हमने प्रत्येक लूप के लिए सूची के अंदर मौजूद सभी तत्वों को प्रिंट करने के लिए लिखा था (पहला डेटा डालने के बाद)।
खुला स्रोत बाकी एपीआई परीक्षण उपकरण
हम स्पष्ट रूप से आउटपुट से देख सकते हैं कि सूची के सभी तत्वों को इंडेक्स 1 में नए तत्व के लिए रास्ता बनाने के लिए आगे स्थानांतरित कर दिया गया है। इंडेक्स 1 में अब 22 तत्व के रूप में है और इंडेक्स 1 में पिछले तत्व यानी 2 को स्थानांतरित कर दिया गया है। अगले सूचकांक और इतने पर।
सूची से एक तत्व कैसे निकालें?
कभी-कभी, हमें सूची से आइटम निकालने की भी आवश्यकता हो सकती है। ऐसा करने के लिए C # दो अलग-अलग तरीके प्रदान करता है। ये दो विधियाँ हैं Remove () और RemoveAt ()। निकालें का उपयोग सूची से एक निश्चित तत्व को हटाने के लिए किया जाता है और दिए गए इंडेक्स में मौजूद किसी भी तत्व को हटाने के लिए RemoveAt का उपयोग किया जाता है।
चलो सिंटैक्स को देखते हैं।
वाक्य - विन्यास
Remove(Element name); RemoveAt(index);
अब, पिछले कोड में निकालें विवरण जोड़ें और देखें कि क्या होता है।
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i उपरोक्त कार्यक्रम का उत्पादन होगा:
एक
दो
३
सूची से मूल्य निकालना
एक
३
उपरोक्त कार्यक्रम में, हमने सूची से तत्व 2 को हटाने के लिए हटाने की विधि का उपयोग किया है। जैसा कि आप निकालें विधि निष्पादित होने के बाद आउटपुट में देख सकते हैं, सूची में वह तत्व नहीं है जिसे हमने हटाया था।
इसी तरह, हम भी RemoveAt विधि का उपयोग कर सकते हैं। उपरोक्त प्रोग्राम में निकालें विधि को RemoveAt () विधि से बदलें और इंडेक्स नंबर को पैरामीटर के रूप में पास करें।
class Program { staticvoid Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i उपरोक्त कार्यक्रम का उत्पादन होगा:
एक
दो
३
सूची से मूल्य निकालना
एक
दो
उपरोक्त कार्यक्रम में, आप स्पष्ट रूप से देख सकते हैं कि हमने पूर्णांक को हटाने के बजाय सूचकांक 2 में मौजूद तत्व को हटा दिया है। इसलिए, आवश्यकता के आधार पर एक से एक निश्चित तत्व को निकालने के लिए या तो निकालें () या RemoveAt () का उपयोग कर सकते हैं। सूची।
सी # शब्दकोश
शब्दकोश # में शब्दकोश हम किसी भी भाषा में है शब्दकोश के समान है। यहां हमारे पास शब्दों और उनके अर्थों का एक संग्रह भी है। शब्दों को कुंजी के रूप में जाना जाता है और उनके अर्थ या परिभाषा को मूल्यों के रूप में परिभाषित किया जा सकता है।
शब्दकोश दो तर्क स्वीकार करता है, पहला महत्वपूर्ण है और दूसरा एक मूल्य है। इसे डिक्शनरी क्लास या IDEDIA इंटरफ़ेस के किसी वैरिएबल का उपयोग करके आरंभ किया जा सकता है।
शब्दकोश के लिए वाक्य रचना है:
Dictionary
शब्दकोश को आरंभ करने के लिए एक साधारण कार्यक्रम पर नजर डालते हैं:
Dictionary data = new Dictionary();
उपरोक्त कार्यक्रम में, आप स्पष्ट रूप से देख सकते हैं कि हमने एक स्ट्रिंग के रूप में कुंजी और मान दोनों के साथ शब्दकोश डेटा को इनिशियलाइज़ किया है। लेकिन आप कुंजियों और मूल्यों के लिए किसी भी डेटा प्रकार की जोड़ी का उपयोग कर सकते हैं। उदाहरण के लिए, यदि हम उपरोक्त कथन को एक अलग डेटा प्रकार में बदलते हैं तो यह भी सही होगा।
Dictionary data = new Dictionary();
कोणीय ब्रैकेट के अंदर डेटा प्रकार कुंजियों और मूल्यों के लिए है। आप किसी भी डेटा प्रकार को कुंजी और मान के रूप में रख सकते हैं।
एक शब्दकोश में कुंजी और मान कैसे जोड़ें?
हमने देखा कि हम किस प्रकार एक शब्दकोष की शुरुआत कर सकते हैं। अब हम कुंजी और उनके मूल्यों को शब्दकोश में जोड़ देंगे। जब आप किसी सूची में विभिन्न डेटा और उनके मूल्यों को जोड़ना चाहते हैं तो शब्दकोश काफी उपयोगी है। शब्दकोश में डेटा जोड़ने के लिए ऐड () विधि का उपयोग किया जा सकता है।
वाक्य - विन्यास
DictionaryVariableName.Add(Key, Value);
अब, शब्दकोश में कुंजियों और मूल्यों को जोड़ने के लिए उपरोक्त कार्यक्रम में विवरण जोड़ें।
कार्यक्रम
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); } }
उपरोक्त कार्यक्रम में, हमने शब्दकोश में कुंजी और मान जोड़ने के लिए ऐड () पद्धति का उपयोग किया है। Add () विधि में दिया गया पहला पैरामीटर कुंजी है और दूसरा पैरामीटर कुंजी का मान है।
एक शब्दकोश से कुंजी और मूल्यों का उपयोग कैसे करें?
जैसा कि सूची में हमारे ट्यूटोरियल में चर्चा की गई है, हम शब्दकोश से तत्वों को कई अलग-अलग तरीकों से भी एक्सेस कर सकते हैं। हम उन कुछ महत्वपूर्ण तरीकों पर चर्चा करेंगे जिनमें हम इसे यहाँ तक पहुँचा सकते हैं। हम डेटा आइटम तक पहुंचने के लिए प्रत्येक लूप और इंडेक्स के लिए लूप के लिए चर्चा करेंगे।
सूची से विशिष्ट मूल्यों तक पहुंचने के लिए सूचकांक का उपयोग किया जा सकता है।
लूप के लिए शब्दकोश से सभी तत्वों को एक्सेस या पुनः प्राप्त करने के लिए उपयोग किया जा सकता है, लेकिन लूप को रोकने के लिए शब्दकोश के आकार की आवश्यकता होती है। प्रत्येक लूप अधिक लचीला होने के कारण, यह डिक्शनरी से मौजूद सभी डेटा को डिक्शनरी के आकार की आवश्यकता के बिना पुनः प्राप्त कर सकता है।
अनुक्रमण का उपयोग करना
सूचकांक से एक तत्व तत्व तक पहुंचने के लिए एक सरणी के समान उपयोग किया जा सकता है, मूल अंतर यह है कि सूचकांक के बजाय हमें मूल्यों तक पहुंचने के लिए कुंजी की आवश्यकता है।
वाक्य - विन्यास
Dictionary_Name(key);
कार्यक्रम
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); string value = dctn('two'); Console.WriteLine(value); Console.ReadLine(); } }
उपरोक्त कार्यक्रम का उत्पादन होगा:
दूसरा
एक्सेसिंग एलिमेंट के लिए लूप का उपयोग करना
लूप के लिए शब्दकोश के सभी तत्वों का उपयोग करने के लिए इस्तेमाल किया जा सकता है। लेकिन इसके लिए आवश्यक कई प्रकार के पुनरावृत्ति के लिए शब्दकोश के अंदर तत्व की गिनती प्राप्त करना भी आवश्यक है।
शब्दकोश से सभी मूल्यों को पुनः प्राप्त करने के लिए उपरोक्त कार्यक्रम में लूप के लिए जोड़ दें।
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); for(int i =0; i उपरोक्त कार्यक्रम का उत्पादन होगा:
कुंजी में तत्व: एक और उसका मूल्य है: पहला
कुंजी में तत्व: दो और इसका मूल्य है: दूसरा
कुंजी में तत्व: तीन और इसका मूल्य है: तीसरा
उपरोक्त कार्यक्रम में, हमने किसी दिए गए इंडेक्स में कुंजी प्राप्त करने के लिए ElementAt () विधि का उपयोग किया है, फिर हमने कुंजी मूल्य के डेटा को पुनः प्राप्त करने के लिए उसी कुंजी का उपयोग किया। लूप के लिए डिक्शनरी के अंदर सभी डेटा के माध्यम से पुनरावृति होती है। गणना के लिए गुण का उपयोग पुनरावृत्ति के लिए शब्दकोश का आकार प्राप्त करने के लिए किया गया है।
प्रत्येक लूप का उपयोग करना
लूप के समान, हम प्रत्येक लूप के लिए भी उपयोग कर सकते हैं।
आइए प्रत्येक लूप के लिए उपरोक्त कार्यक्रम पर एक नजर डालें।
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); foreach (KeyValuePair item in dctn) { Console.WriteLine('The Key is :'+ item.Key+' - The value is: '+ item.Value); } Console.ReadLine(); } }
उपरोक्त कार्यक्रम का उत्पादन होगा:
कुंजी है: एक - मान है: पहला
कुंजी है: दो - मान है: दूसरा
कुंजी है: तीन - मान है: तीसरा
उपरोक्त कार्यक्रम चर को घोषित करने के लिए KeyValuePair का उपयोग करता है, फिर हम शब्दकोश में प्रत्येक कुंजी-मूल्य जोड़े के माध्यम से पुनरावृति करते हैं और कंसोल में प्रिंट करते हैं।
एक शब्दकोश में डेटा की उपस्थिति को कैसे मान्य करें?
कभी-कभी हमें यह सत्यापित करने की आवश्यकता होती है कि कोई महत्वपूर्ण कुंजी या मान शब्दकोश में मौजूद है या नहीं। हम शब्दकोश के अंदर मौजूदा कुंजी या मूल्य की जांच करने के लिए दो तरीकों अर्थात् ContainsValue () और ContainsKey () का उपयोग करके इसे सत्यापित कर सकते हैं।
इसमें दिए गए मान शब्दकोश में मौजूद हैं या नहीं, यह प्रमाणित करने के लिए समास विधि का उपयोग किया जाता है। ContainsKey विधि का उपयोग यह जांचने के लिए किया जाता है कि किसी दिए गए कुंजी शब्दकोष में मौजूद है या नहीं।
डाउनलोड यूट्यूब वीडियो के लिए सबसे अच्छा कार्यक्रम
वाक्य - विन्यास
Dictionary_Name.ContainsValue(Value); Dictionary_Name.ContainsKey(Key);
हमें ContainsKey विधि का उपयोग करके मान्य करने के लिए एक सरल प्रोग्राम लिखें।
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); bool key = dctn.ContainsKey('one'); bool val = dctn.ContainsValue('four'); Console.WriteLine('The key one is available : ' + key); Console.WriteLine('The value four is available : ' + val); Console.ReadLine(); } }
उपरोक्त कार्यक्रम का उत्पादन होगा:
एक कुंजी उपलब्ध है: यह सच है
चार मूल्य उपलब्ध है: गलत
उपरोक्त कार्यक्रम में, हमने सर्वप्रथम ContainsKey पद्धति का उपयोग यह प्रमाणित करने के लिए किया कि यदि दी गई कुंजी शब्दकोश के अंदर मौजूद है। जैसा कि कुंजी शब्दकोश में मौजूद है, विधि सही है। फिर हम निर्धारित मूल्य मौजूद है या नहीं यह निर्धारित करने के लिए ContainsValue का उपयोग करें। मान के रूप में 'चार' शब्दकोश के अंदर मौजूद नहीं है, यह गलत है।
एक शब्दकोश से एक तत्व कैसे निकालें?
एक समय हो सकता है जब हमें कुछ प्रोग्रामिंग लॉजिक को पूरा करने के लिए शब्दकोश से एक निश्चित कुंजी-मूल्य जोड़ी निकालने की आवश्यकता होगी। कुंजी के आधार पर शब्दकोश से किसी भी जोड़ी को हटाने के लिए निकालें विधि का उपयोग किया जा सकता है।
वाक्य - विन्यास
Remove(key);
कार्यक्रम
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); //removing key two dctn.Remove('two'); //validating if the key is present or not bool key = dctn.ContainsKey('two'); Console.WriteLine('The key two is available : ' + key); Console.ReadLine(); } }
उपरोक्त कार्यक्रम का उत्पादन होगा:
कुंजी दो उपलब्ध है: गलत
पहले उपरोक्त कार्यक्रम में, हमने शब्दकोश में एक महत्वपूर्ण-मूल्य जोड़ी को जोड़ा है। फिर हमने शब्दकोश से एक कुंजी को हटा दिया, और हमने पुष्टि करने के लिए ContainsKey () पद्धति का उपयोग किया यदि कुंजी-मूल्य जोड़ी अब शब्दकोश में मौजूद नहीं है।
निष्कर्ष
सूची में विशिष्ट डेटा प्रकार के तत्वों को संग्रहीत किया जाता है और आइटम जोड़ दिए जाते हैं। यह कई डुप्लिकेट तत्वों को भी स्टोर कर सकता है। हम आसानी से सूचकांक, या लूप का उपयोग करके सूची के अंदर वस्तुओं तक पहुंच सकते हैं। बड़ी मात्रा में डेटा संग्रहीत करने में सूची बहुत सहायक है।
कुंजी-मूल्य वाले युग्मों को संग्रहीत करने के लिए एक शब्दकोश का उपयोग किया जाता है। यहां चाबियां अद्वितीय होनी चाहिए। शब्दकोश से मूल्यों को एक लूप या इंडेक्स का उपयोग करके पुनर्प्राप्त किया जा सकता है। हम कुंजियों की विधि का उपयोग करके कुंजियों या मूल्यों को भी मान्य कर सकते हैं।
=> पूर्ण सी # प्रशिक्षण श्रृंखला यहां देखें
अनुशंसित पाठ
- कोड उदाहरणों के साथ C # अपवाद हैंडलिंग ट्यूटोरियल
- उदाहरणों के साथ अजगर डेटाइम ट्यूटोरियल
- कोड उदाहरण के साथ सी # कार्य / तरीके ट्यूटोरियल
- एसवीएन ट्यूटोरियल: स्रोत कोड प्रबंधन तोड़फोड़ का उपयोग करना
- सी # स्ट्रिंग ट्यूटोरियल - कोड उदाहरण के साथ स्ट्रिंग के तरीके
- कछुआ एसवीएन ट्यूटोरियल: कोड रिपोजिटरी में संशोधन
- हाथों पर उदाहरण के साथ अजगर टपल ट्यूटोरियल
- उदाहरणों के साथ यूनिक्स में Ls कमांड