Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

सी # में सरणी कैसे काम करती हैं?

एक सरणी किसी दिए गए प्रकार के तत्वों की एक निश्चित संख्या का प्रतिनिधित्व करती है। तत्वों को स्मृति के एक सन्निहित ब्लॉक में संग्रहीत किया जाता है और जब तक आप किसी तत्व की अनुक्रमणिका को जानते हैं, तब तक तत्वों को अत्यधिक कुशल पहुंच प्रदान करते हैं।

किसी सरणी को घोषित करने और आरंभ करने के लिए C# सिंटैक्स इस प्रकार है -

// create a string array to hold 5 languages
string[] languages = new string[3];

एक बार सरणी घोषित होने के बाद, आप सरणी पर वर्ग संकेतन का उपयोग करके सरणी में आइटम्स को पॉप्युलेट कर सकते हैं।

languages[0] = "csharp";
languages[1] = "visual basic";
languages[2] = "f#";

हालांकि, उपरोक्त दो चरणों को एक ही चरण में संयोजित करने के लिए एक वैकल्पिक, संक्षिप्त सिंटैक्स है।

string[] languages = new string[] { "csharp", "visual basic", "f#" };

C# में निहित रूप से टाइप किए गए चर के साथ, आप चर नाम के बाईं ओर के प्रकार से छुटकारा पा सकते हैं और बस var का उपयोग कर सकते हैं।

var languages = new string[] { "csharp", "visual basic", "f#" };

आप समान वर्ग संकेतन का उपयोग करके सरणी में किसी भी तत्व तक पहुँच सकते हैं।

string language = languages[0];
Console.WriteLine(language); // prints csharp

किसी ऐरे पर Length प्रॉपर्टी हमें बताती है कि उस ऐरे में कितने आइटम हैं।

int count = languages.Length;
Console.WriteLine(count); // 3

यह याद रखना महत्वपूर्ण है कि एक बार बनने के बाद आप किसी सरणी की लंबाई नहीं बदल सकते। किसी सरणी की सीमा के बाहर किसी तत्व तक पहुँचने का प्रयास एक अपवाद फेंकता है।

string lang = languages[3]; // throws System.IndexOutOfRangeException

यदि आप किसी सरणी पर लूप करना चाहते हैं, तो भाषा द्वारा प्रदान किए गए for या foreach लूप का उपयोग करें।

// for loop
for (int i = 0; i < languages.Length; i++){
   string l = languages[i];
   Console.WriteLine(l); // prints the names of languages in sequence
}
// foreach loop
foreach (string l in languages){
   Console.WriteLine(l); // prints the names of languages in sequence
}

डिफ़ॉल्ट मान

जब आप एक सरणी बनाते हैं, तो सी # कंपाइलर तत्वों को उनके डिफ़ॉल्ट मानों में प्रारंभ करता है। उदाहरण के लिए, पूर्णांकों की एक सरणी बनाने से प्रत्येक तत्व का मान 0 पर सेट हो जाता है।

var numbers = new int[3];
foreach (int num in numbers){
   Console.WriteLine(num); // prints 000
}

जब तत्व किसी मान प्रकार से संबंधित होता है, तो प्रकार के प्रत्येक सदस्य को उसके डिफ़ॉल्ट मान को असाइन किया जाता है।

Point[] a = new Point[4];
int x = a[2].X;
Console.WriteLine(x); // prints 0
public struct Point { public int X, Y; }

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

User[] u = new User[4];
int y = u[2].Y; // NullReference exception
public class User { public int X, Y; }

त्रुटि से बचने के लिए, आपको प्रत्येक आइटम को निम्नानुसार स्पष्ट रूप से प्रारंभ करना होगा।

User[] users = new User[5];
for (int i = 0; i < users.Length; i++) // Iterate i from 0 to 999
users[i] = new User();

उदाहरण

using System;
class Program{
   static void Main(){
      string[] languages = new string[3]; // create a string array to hold 5 languages
      languages[0] = "csharp";
      languages[1] = "visual basic";
      languages[2] = "f#";
      string[] langugages_two = new string[] { "csharp", "visual basic", "f#" };
      var languages_three = new string[] { "csharp", "visual basic", "f#" };
      string language = languages[0];
      Console.WriteLine(language); // prints csharp
      int count = languages.Length; // 3
      Console.WriteLine(count);
      //string lang = languages[3]; // throws System.IndexOutOfRangeException
      // for loop
      for (int i = 0; i < languages.Length; i++){
         string l = languages[i];
         Console.WriteLine(l); // prints the names of languages in sequence
      }
      // foreach loop
      foreach (string l in languages){
         Console.WriteLine(l); // prints the names of languages in sequence
      }
      var numbers = new int[3];
      foreach (int num in numbers){
         Console.WriteLine(num); // prints 000
      }
      Point[] a = new Point[4];
      int x = a[2].X;
      Console.WriteLine(x); // prints 0
      User[] u = new User[4];
      //int y = u[2].Y; // NullReference exception
      User[] users = new User[5];
      for (int i = 0; i <users.Length; i++) // Iterate i from 0 to 999
      users[i] = new User();
   }
}
public struct Point { public int X, Y; }
public class User { public int X, Y; }

आउटपुट

csharp
3
csharp
visual basic
f#
csharp
visual basic
f#
0
0
0
0

  1. स्कैनर कैसे काम करते हैं

    स्कैनर कई प्रकार के होते हैं, और अधिकांश डेटा उसी तरह से कैप्चर करते हैं—चाहे वह टेक्स्ट दस्तावेज़, व्यावसायिक ग्राफ़िक्स, फ़ोटो या फ़िल्म के लिए हो। यहां बताया गया है कि कैसे एक स्कैनर एक भौतिक दस्तावेज़ लेता है, उसकी सामग्री को पुन:पेश करता है, और फिर डेटा को एक कंप्यूटर फ़ाइल में स्थानांतरित करत

  1. वाई-फाई एक्सटेंडर कैसे काम करते हैं?

    एक वाई-फाई एक्सटेंडर वही करता है जो उसका नाम आपको बताता है:यह आपके वाई-फाई सिग्नल को आपके घर के अधिक क्षेत्रों में इंटरनेट का उपयोग करने में मदद करने के लिए बढ़ाता है। यदि आप एक विशाल स्थान पर रहते हैं या काम करते हैं, एक में कई मंजिलें हैं या एक मोटी दीवारों या अन्य अवरोधों के साथ है, तो एक वाई-फाई

  1. जावास्क्रिप्ट में सरणियों को कैसे कम करें?

    जावास्क्रिप्ट में सरणियों को कम करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document