آرایه ها در زبان سی شارپ
آرایه یک نوع ساختار داده است که می تواند، در یک اندازه ثابت، مجموعه از عناصر که از نوع آرایه هستند را در خود نگه داری کند. به جای اعلان انفرادی متغیرهایی که از یک نوع هستند (مانند number1, number2, number3, … number99)، می توانید آن ها در به صورت یک آرایه تعریف کنید و با استفاده از index عنصر مورد نظر به آن دسترسی داشته باشید. آدرس حافظه تمام آرایه ها به صورت دنباله ای می باشد. پایین ترین آدرس مربوط به اولین عنصر و بالا ترین آدرس هم مربوط به آخرین عنصر یک آرایه است.
اعلان آرایه در C#
به منظور اعلان یک آرایه در زبان سی شارپ می توانید از سینتکس زیر استفاده کنید:
datatype[] arrayName;
منظور از datatype همون نوع آرایه است (مثل int، string و غیره)، علامت [] مشخص کننده سایز و مرتبه آرایه است و arrayName هم نام آرایه را مشخص می کند.
برای مثال:
double[] balance;
مقداری دهی اولیه آرایه
زمانی که یک آرایه اعلان می شود، در حقیقت تا زمانی که مقدار دهی اولیه نشود، فضایی از حافظه را اشغال نمی کند. آرایه ها از نوع Reference Type هستند یعنی باید از کلمه کلیدی new برای ایجاد یک آرایه استفاده کرد.
برای مثال:
double[] balance = new double[10];
در کد بالا ۱۰ نشان دهنده تعداد عناصر آرایه می باشد.
تخصیص مقادیر به عناصر آرایه
مانند زبان C/C++ به چند روش مختلف می توان مقادیر یک آرایه را تنظیم کرد. روش اول تخصیص مقادیر به صورت انفرادی است. مانند نمونه زیر:
double[] balance = new double[10]; balance[0] = 4500.0;
روش دوم این است که هنگام اعلان یک آرایه، آن را مقدار دهی کنید:
double[] balance = { 2340.0, 4523.69, 3421.0};
همچنین به روش زیر هم می توانید این کار را انجام دهید:
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;
زمانی که شما یک آرایه را ایجاد می کنید، کامپایلر زبان برنامه نویسی C# به طور خود کار هر یک از عناصر آرایه را به مقدار پیش فرض نوع آرایه، مقدار دهی می کند. برای مثال اگر نوع آرایه شما int باشد، مقدار اولیه همه عناصر آرایه صفر خواهد بود؛ زیر مقدار پیش فرض برای نوع داده int صفر است.
دسترسی به عناصر آرایه
به منظور دسترسی به عناصر یک آرایه می توانید از اندیس (index) استفاده کنید. مثال زیر نحوه دسترسی به دهمین عنصر آرایه balance را نشان می دهد:
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 که در مثال قبلی استفاده کردیم، می توانید از حلقه 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
انواع آرایه در زبان سی شارپ
مواردی که در بالا ذکر شد مربوط به ساده ترین نوع آرایه بود؛ زبان برنامه نویسی C# از چند نوع آرایه دیگر هم پشتیبانی می کند که در زیر مشاهده می کنید:
ردیف | توضیحات |
۱ | آرایه های چند بعدی
سی شارپ از آرایه های چند بعدی پشتیبانی می کند. ساده ترین آرایه چند بعدی آرایه دو بعدی است. |
۲ | آرایه های Jagged (دنباله دار)
زبان سی شارپ از آرایه های دنباله دار که گاهی اوقات “آرایه ای از آرایه ها” نامیده می شود، پشتیبانی می کند. |
۳ | ارسال آرایه ها به تابع
در زبان C# می توانید یک آرایه را به عنوان پارامتر به یک تابع ارسال کنید. |
۴ | آرایه های Param
این نوع از آرایه برای ارسال تعداد نامعلومی از پارامترها به یک تابع استفاده می شود. |
۵ | کلاس Array
این کلاس در فضای نام System تعریف شده است و متدها و خاصیت های مختلفی به منظور کار بر روی آرایه ها فراهم می کند. همه آرایه ها از این کلاس مشتق شده اند و این کلاس به عنوان کلاس base محسوب می شود. |
نوشته آرایه ها در زبان سی شارپ – آموزش زبان سی شارپ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.