किसी संग्रह की परिभाषा में आम तौर पर कोण ब्रैकेट के बीच एक प्लेसहोल्डर होता है, और परंपरा से उसके लिए अक्सर T चुना जाता है। ऐसे संग्रह को जेनेरिक टाइप कहा जाता है। इससे संग्रह इस्तेमाल करने वाला बता सकता है कि संग्रह में किस टाइप के एलिमेंट रखे जाएँ। नीचे दिए गए उदाहरण कोड में हम स्ट्रिंग का एक ऐरे बना रहे हैं।
C# में ऐरे प्रिमिटिव वैल्यू या स्ट्रक्ट या क्लास के इंस्टेंस का संग्रह होते हैं। ये बेस क्लास लाइब्रेरी में List<T> के रूप में लागू किए गए हैं, जहाँ T ऐरे में मौजूद एलिमेंट का टाइप होता है। API ऐरे बनाने और उनमें बदलाव करने के लिए कई तरह के मेथड उपलब्ध कराता है।
ऐरे में एलिमेंट जोड़े भी जा सकते हैं और हटाए भी जा सकते हैं। ज़रूरत के अनुसार ये बढ़ते और घटते रहते हैं।
var listOfStrings = new List<string>();
इस अभ्यास में आप एक ऐरे बनाने का कोड लिखेंगे, जिसमें उन प्रोग्रामिंग भाषाओं का हिसाब रखा जाएगा जिन्हें आप Exercism पर सीखना चाहते हैं।
आपके सामने नौ काम हैं, और इन सभी में ऐरे से जुड़ा काम करना होगा।
जिन भाषाओं को आप सीखना चाहते हैं, उनका हिसाब रखने के लिए आपको एक नया ऐरे बनाना होगा।
उस स्टैटिक Languages.NewList() मेथड को लागू कीजिए जो एक नया, खाली ऐरे लौटाता है।
Languages.NewList()
// => empty list
इस समय आपके पास एक कागज़ है, जिस पर उन भाषाओं की सूची लिखी है जिन्हें आप सीखना चाहते हैं: C#, Clojure और Elm।
कृपया स्टैटिक Languages.GetExistingLanguages() मेथड को लागू कीजिए, जो यही ऐरे लौटाता है।
Languages.GetExistingLanguages();
// => {"C#", "Clojure", "Elm"}
जैसे-जैसे आप Exercism को खोजते हैं और आपको और भी दिलचस्प भाषाएँ मिलती हैं, आप उन्हें अपने ऐरे में जोड़ना चाहते हैं।
उस स्टैटिक Languages.AddLanguage() फंक्शन को लागू कीजिए जो आपके ऐरे के अंत में एक नई भाषा जोड़ता है।
Languages.AddLanguage(Languages.GetExistingLanguages(), "VBA");
// => {"C#", "Clojure", "Elm", "VBA"}
भाषाओं को एक-एक करके गिनना असुविधाजनक है।
उस स्टैटिक Languages.CountLanguages() मेथड को लागू कीजिए जो आपके ऐरे में भाषाओं की संख्या गिनता है।
Languages.CountLanguages(Languages.GetExistingLanguages())
// => 3
उस स्टैटिक Languages.HasLanguage() मेथड को लागू कीजिए जो जाँचता है कि कोई भाषा मौजूद है या नहीं।
Languages.HasLanguage(Languages.GetExistingLanguages(), "Elm")
// => true
किसी समय आपको पता चलता है कि आपका ऐरे वास्तव में उलटे क्रम में है!
अपने ऐरे को उलटने के लिए स्टैटिक Languages.ReverseList() मेथड को लागू कीजिए।
Languages.ReverseList(Languages.GetExistingLanguages())
// => {"Elm", "Clojure", "C#"}
आपको सभी भाषाएँ पसंद हैं, पर C# का दिल में एक खास स्थान है। इसी वजह से भाषाओं का कोई ऐरे आपके लिए रोमांचक होता है, अगर इनमें से कोई एक शर्त सही हो:
यह जाँचने के लिए कि भाषाओं का कोई ऐरे रोमांचक है या नहीं, स्टैटिक Languages.IsExciting() मेथड को लागू कीजिए:
Languages.IsExciting(Languages.GetExistingLanguages())
// => true
कृपया स्टैटिक Languages.RemoveLanguage() मेथड को लागू कीजिए, जो ऐरे से बताई गई भाषा हटाता है।
Languages.RemoveLanguage(Languages.GetExistingLanguages(), "Clojure")
// => { "C#", "Elm" }
कृपया स्टैटिक Languages.IsUnique() मेथड को लागू कीजिए, जो जाँचता है कि ऐरे में कोई भाषा दोहराई गई है या नहीं।
जब यह मेथड कॉल किया जाता है, तब भाषाओं का ऐरे (यानी पैरामीटर) खाली नहीं होगा, इसकी गारंटी है। और इससे कोई फर्क नहीं पड़ता कि ऐरे बदला गया है या नहीं।
Languages.IsUnique(Languages.GetExistingLanguages())
// => true
Exercism पर साइन अप कीजिए और C# को 62 कॉन्सेप्ट178 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।