Total Pageviews

Monday, June 20, 2022

सी.शार्प में एरे (Array in C#)

 

एरे (Array): यह समान प्रकार के डाटा सदस्यों का एक समुच्चय है जिसे एक ही चर नाम के साथ प्रस्तुत किया जाता है। इसमें एक प्रकार के अनेक वैल्यूज को रखा जाता है। इन वैल्यूज में से किसी एक element को access करने के लिए एरे के नाम के साथ [] में सदस्य का index दिया जाता है।

एक एरे के संदर्भ में निम्नलिखित बातें महत्वपूर्ण हैं:

1.       Elements: किसी एरे के प्रत्येक individual item को ‘element’ कहते हैं। एक एरे के सभी elements एक ही प्रकार के होने चाहिए।

2.       Rank/Dimensions: एरे में एक से अधिक dimensions हो सकते हैं। एरे के dimensions को ‘rank’ कहते हैं।

3.       Dimension Length : एरे के प्रत्येक dimension की एक लंबाई होती है।

4.       Array length: सभी dimensions में एरे के elements की कुल संख्या को array length कहते हैं।

एरे के प्रकार (टाइप of Array): एरे के मुख्यत: दो और गौणत: 2, (कुल 4) प्रकार किए जा सकते हैं:

1.       एकदिशीय (One Dimensional)

2.       बहु-दिशीय (Multi Dimensional)

दो गौण प्रकारों में rectangular arrays और jagged arrays आते हैं।

एरे हमेशा एक संदर्भ टाइप होता है, किंतु इसके elements वैल्यू टाइप या संदर्भ टाइप किसी भी प्रकार के हो सकते हैं।

एरे को सेट तथा आरंभ करना (Setting up and Initialization of an Array): इन्हें सेट करने के लिए टाइप से बाद [] का प्रयोग करते हैं, और आरंभ करने के लिए ‘new’ कथन का प्रयोग किया जाता है।

संक्रम (Syntax):

{

int[] myArray;    //setting up

myArray = new int [50]     //initialization

}

नोट: इसमें एरे टाइप और बड़े कोष्ठक (square bracket) द्वारा एरे के नाम को declare करते हैं, इसके पश्चात् ‘new’ द्वारा initialize करके टाइप के साथ बड़े कोष्ठक में लंबाई (length) को दिया जाता है। एरे टाइप के तुरंत बाद बड़े कोष्ठकों का प्रयोग किया जाता है और इनके बीच कोई खाली स्थान नहीं होता है।

एरे में वैल्यू प्रदान करना (Assigning Value in an Array):  इसकी दो विधियाँ हैं:

1.       प्रत्येक element में अलग-अलग पंक्तियों में वैल्यू देना (Giving Value in each Element by Lines):  इसका रूप निम्नलिखित है:  

{

int[] myArray      = new int [5];

myArray [0]        = 10;

myArray [1]        = 20;

myArray [2]        = 30;

myArray [3]        = 40;

myArray [4]        = 50;

}

2.       मझोले कोष्ठकों द्वारा वैल्यू प्रदान करना (Assigning Value by Curly Brackets):  यह एरे में वैल्यू डालने की दूसरी विधि है जिसमें अपेक्षाकृत कम कोड लिखना पड़ता है:

int[] myArray      = new int [] {10, 20, 30, 40, 50}

Shortcut संक्रम (Syntax): यदि declaration, creation और initialization तीनों एक पंक्ति में हों तो ‘creation’ भाग को छोड़ा जा सकता है; यथा:

int[] myArray      = new int []         {10, 20, 30, 40, 50};

या:

int[] myArray      =                          {10, 20, 30, 40, 50};

 

उपरोक्त दोनों ही कथन सही हैं।

Rectangular Array: यह बहु-दिशीय एरे है। इस प्रकार के एरे में एक से अधिक dimentions होते हैं। अर्थात् इनमें एक से अधिक पंक्तियों में वैल्यूज संग्रहीत होते हैं। इसका संक्रम निम्नलिखित है:

int[,] myRecArray      = new int [,] {{10,2}, {20,4}, {30,6}, {40,8}, {50,10}};

इसमें वैल्यूज इस प्रकार संग्रहीत होंगे: 


 

 इसमें निम्नलिखित बातें महत्वपूर्ण हैं:

1.       प्रत्येक Initial value का vactor  मझोले कोष्ठकों में होना चाहिए।

2.       प्रत्येक dimention गुंफित होना चाहिए और मझोले कोष्ठकों में होना चाहिए।

3.       प्रत्येक element और dimension के components को अर्द्धविराम (,) द्वारा अलगाया जाना चाहिए, जैसा कि ऊपर किया गया है।

एरे और लूप (Array and Loop): - एरे के साथ प्राय: लूप का प्रयोग किया जाता है क्योंकि लूप एरे के प्रत्येक एलिमेंट में वैल्यू डालने और उन्हें access करने को सरल बना देते हैं; जैसे: किसी लिस्टबॉक्स में ऊपर के एरे में दिए पाँचों वैल्यूज को डालने के लिए निम्नलिखित कोड करना पड़ेगा:

 

{

int[] myArray      = new int [5];

myArray [0]        = 10;

myArray [1]        = 20;

myArray [2]        = 30;

myArray [3]        = 40;

myArray [4]        = 50;

Listbox1.Items.Add(myArray[0]);

Listbox1.Items.Add(myArray[1]);

Listbox1.Items.Add(myArray[2]);

Listbox1.Items.Add(myArray[3]);

Listbox1.Items.Add(myArray[4]);

}

 

{

int[] myArray = {10, 20, 30, 40, 50};

Listbox1.Items.Add(myArray[0]);

Listbox1.Items.Add(myArray[1]);

Listbox1.Items.Add(myArray[2]);

Listbox1.Items.Add(myArray[3]);

Listbox1.Items.Add(myArray[4]);

}

किंतु ‘For’ लूप का प्रयोग करते हुए इस कोड को अत्यंत संक्षिप्त किया जा सकता है:

{

int[] myArray = {10, 20, 30, 40, 50};

for (int i =0; i <= myArray.Length; i++)

{

       Listbox1.Items.Add(myArray[i]);

}

 

No comments:

Post a Comment