آرایه ها در سی شارپ

آرایه ها در سی شارپ

 

فرض کنید که می خواهید صد مقدار مختلف را ذخیره کنید. در این صورت تعریف صد متغیر کار بسیار سختی خواهد بود. برای حل این مشکل سی شارپ آرایه ها را معرفی کرد. یک آرایه یک نوع داده ای خاص است که می تواند تعداد مشخصی مقدار را در خود به صورت دنباله ای از مقادیر ذخیره کند. شکل زیر نحوه ذخیره مقادیر در یک آرایه را نشان می دهد :

همانطور که در شکل بالا می بینید index  یک عدد بوده که از مقدار صفر آغاز می‌شود. شما می توانید تعداد مشخصی مقدار را در یک آرایه ذخیره کنید.

یک آرایه می‌تواند با استفاده از یک نوع داده  که به دنبال آن [] می آید، تعریف شود :

int[] intArray;  // can store int values

bool[] boolArray; // can store boolean values

string[] stringArray; // can store string values

double[] doubleArray; // can store double values

byte[] byteArray; // can store byte values

Student[] customClassArray; // can store instances of Student class

 

مقدار دهی اولیه آرایه

 

یک آرایه را می‌توان در هنگام تعریف مقداردهی اولیه نیز کرد. این کار با استفاده از کلمه کلیدی new امکان پذیر است. نمونه مثال زیر سه روش تعریف و مقدار دهی آرایه ها را نشان میدهد :

// defining array with size 5. add values later on

int[] intArray1 = new int[5];

 // defining array with size 5 and adding values at the same time

int[] intArray2 = new int[5]{1, 2, 3, 4, 5};

 // defining array with 5 elements which indicates the size of an array

int[] intArray3 = {1, 2, 3, 4, 5};

در نمونه مثال بالا اولین عبارت ابتدا یک آرایه را با نوع داده ای int  (که می تواند ۵ مقدار صحیح را در خود ذخیره کند) تعریف و مقداردهی کرده است. عبارت دوم نیز همانند عبارت اول عمل تعریف را انجام داده و سپس کار مقدار دهی اولیه را با مقادیر انجام داده است.

عبارت سوم بدون اینکه تعداد خانه های آرایه را مشخص کند، کار مقداردهی را انجام داده است. در این حالت اندازه آرایه به صورت اتوماتیک از تعداد مقادیر برداشته خواهد شد. در صورتی که عمل مقدار دهی را بدون مشخص کردن اندازه آرایه (مثال زیر) انجام دهیم با خطای کامپایلری روبرو می شویم. نمونه مثال زیر در هنگام کامپایل باعث خطا خواهد شد :

int[] intArray = new int[]; // compiler error: must give size of an array

 

دسترسی به عناصر آرایه 

 

همانطور که گفته شد مقادیر می‌توانند در زمان تعریف آرایه به آن انتساب داده شود. با این حال مقادیر می‌توانند به صورت تصادفی با استفاده از مقادیر  index به خانه های آرایه انتساب داده شوند :

int[] intArray = new int[5];

 intArray[0] = 10;

 intArray[1] = 20;

 intArray[2] = 30;

 intArray[3] = 40;

intArray[4] = 50;

 به همین روش می توان مقادیر خانه های مشخصی از آرایه را واکشی کرد :

 intArray[0];  //returns 10

 intArray[2];  //returns 30

می توان با استفاده از یک حلقه for تمام مقادیر یک آرایه را در صفحه کنسول چاپ کرد :

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

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

Console.WriteLine(intArray[i]);

  خروجی نمونه مثال بالا به شکل زیر خواهد بود :

  ۱۰

۲۰

۳۰

۴۰

۵۰