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

یک آرایه یک مجموعه با طول مشخص، از داده های هم نوع را در خود ذخیره میکند.یک آرایه برای ذخیره ی مجموعه ای از داده ها به کار برده می شود.اما می توان به آرایه به عنوان مجموعه ای از متغیرهای هم نوع که درخانه های پشت سرهم در حافظه ذخیره می شوند هم نگاه کرد.

به جای تعریف کردن متغیر های جداگانه، مانند number0, number1 و.... می توان آرایه ای از متغیر ها با نام numbers تعریف کرد.و برای استفاده از هر خانه از numbers[0] ,numbers[1] و ... استفاده کرد. یک عنصر خاص در یک آرایه به وسیله ی اندیس یا index آن قابل دسترسی خواهد بود.

یک آرایه از خانه های پشت سر هم در حافظه تشکیل شده است.کوچکترین آدرس برای خانه ی اول آرایه و بزرگترین آدرس مربوط به خانه ی آخر است.

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

تعریف آرایه

برای تعریف یک آرایه در سی شارپ از دستور زیر استفاده می شود

datatype[] arrayName;

در حالی که

  • datatype برای تعیین نوع داده ای که قرار است در آرایه ذخیره شود استفاده می شود
  • [ ] طول آرایه را مشخص می کند
  • arrayName نام آرایه است

برای مثال

double[] balance;

مقدار دهی اولیه یا Initialize کردن یک آرایه

تعریف یک آرایه ، آن را در حافظه ایجاد نمی کند. زمانی که یک آرایه initialize شد ، شما می توانید به خانه های آن مقدار بدهید.

آرایه یک نوع ارجاع است.بنابراین برای ساختن یک نمونه یا وهله یا instance از آن باید از کلمه ی کلیدی new استفاده کنید. برای مثال:

double[] balance = new double[10];

نسبت دادن مقدار به آرایه

در هر خانه از آرایه با استفاده از اندیس یا index آن می توان مقدار وارد کرد

double[] balance = new double[10];
balance[0] = 4500.0;

شما همینطور می توانید ، هنگام تعریف یک آرایه به خانه های آن مقدار نسبت بدهید، مانند:

double[] balance = { 2340.0, 4523.69, 3421.0};

همینطور می توانید مانند زیر آرایه را ساخته و مقداردهی اولیه یا initialize کنید

int [] marks = new int[5]  { 99,  98, 92, 97, 95};

همینطور می توان آرایه را بدون تعریف طول ثابت ایجاد کرد

int [] marks = new int[]  { 99,  98, 92, 97, 95};

شما می توانید یک آرایه را در دیگری کپی کنید.هر دو آرایه به خانه های مشابه در حافظه اشاره خواهند کرد

int [] marks = new int[]  { 99,  98, 92, 97, 95};
int[] score = marks;

زمانی که در سی شارپ یک آرایه ایجاد می کنید، کامپایلر سی شارپ با توجه به نوع تعریف شده برای آرایه، در خانه های آن مقدار های پیش فرض ذخیره می کند. مثلا اگر آرایه از نوع Int باشد در تمام خانه ها عدد صفر قرار می گیرد.

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

هر عنصر در آرایه با استفده از اندیس آن قابل دسترسی است.که اینکار با استفاده از قرار دادن آن اندیس در براکت بعد از نام آرایه صورت می گیرد.برای مثال:

double salary = balance[9];

در مثال زیر تمامی مطالبی که در بالا توضیح داده شد، استفاده شده است:

using System;
namespace ArrayApplication
{
   class MyArray
   {
      static void Main(string[] args)
      {
         int []  n = new int[10]; /* n is an array of 10 integers */
         int i,j;

         /* initialize elements of array n */
         for ( i = 0; i < 10; i++ )
         {
            n[ i ] = i + 100;
         }
         
         /* output each array element's value */
         for (j = 0; j < 10; j++ )
         {
            Console.WriteLine("Element[{0}] = {1}", j, n[j]);
         }
         Console.ReadKey();
      }
   }
}

نتیجه ی اجرای دستورات فوق به صورت زیر است:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

استفاده از حلقه ی foreach

در مثال بالا برای دسترسی به هر یک از خانه های آرایه از یک for loop استفاده کردیم. که می توان به جای آن از دستور foreach نیز استفاده کرد

using System;
namespace ArrayApplication
{
   class MyArray
   {
      static void Main(string[] args)
      {
         int []  n = new int[10]; /* n is an array of 10 integers */
         
         /* initialize elements of array n */
         for ( int i = 0; i < 10; i++ )
         {
            n[i] = i + 100;
         }
         
         /* output each array element's value */
         foreach (int j in n )
         {
            int i = j-100;
            Console.WriteLine("Element[{0}] = {1}", i, j);
            
         }
         Console.ReadKey();
      }
   }
}

خروجی کد فوق به شکل زیر است:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

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

در زیر بعضی از مباحث مهم مربوط بهه آرایه ها در سی شارپ توضیح داده شده است:

مفهموم توضیحات

آرایه های چند بعدی

در سی شارپ می توان آرایه های چند بعدی تعریف کرد.ساده ترین آن آرایه ی دو بعدی است.

آرایه های دندانه دار

به معنی آرایه های چند بعدی از آرایه های دیگر است.

ارسال آرایه به عنوان پارامتر تابع

می توان آرایه ای را باستفاده از نام آن و بدون ایندکس، به عنوان پارامتر به یک تابع پاس داد. در واقع اشاره گری از آن آرایه برای تابع ارسال می شود.

پارامتر های آرایه ای

برای ارسال تعداد نامشخصی از پارامتر ها به تابع استفاده می شود

کلاس آرایه

کلاس پایه ی تمام آرایه ها هست که متد ها وخصوصیات زیادی را برای کار با آرایه ها در خود دارد.این کلاس در فضای نام .