چگونه از آرایه در سی شارپ استفاده کنیم؟

آرایه در سی شارپ
تاریخ بروزرسانی : 20 خرداد 1399 | تعداد بازدید : 4806 | زمان خواندن مقاله : 15 دقیقه
سی شارپ،
امروز می خواهیم درباره آرایه در سی شارپ صحبت کنیم. بدانیم آرایه چیست و چگونه می توان از آن استفاده کرد. آیا نیاز است تا از آرایه ها استفاده کنیم؟ چرا؟ 

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

پس دلیل استفاده از آرایه ها را متوجه شدیم. حال بریم سراغ آشنایی و نحوه استفاده از آنها.

آرایه چیست؟

ساختاری از یک نوع خاص داده است که می تواند تعداد مشخصی مقدار را در خود به صورت دنباله ای از مقادیر ذخیره کند. پس آرایه، اسمی برای چند متغیر همنوع می باشد. در واقع آرایه ها بهترین ساختارهای نگهداری برای ذخیره سازی داده های زیاد هستند.

آرایه ها به صورت زیر تعریف می شوند:

 
{type}[] numbers = new {type}[{length}];

 

در قسمت type نوع داده ای که قصد داریم به عنوان آرایه ایجاد شود مشخص کرده و در قسمت length تعداد خانه های آرایه را تعیین می کنیم.
 

آموزش سی شارپ

روش های تعریف و مقداردهی آرایه ها:

  1. با استفاده از اندیس یا index
 
double[] balance = new double[10];
balance[0] = 4500.0;

 

  1. نسبت دادن مقدار به خانه های آرایه
double[] balance = { 2340.0, 4523.69, 3421.0};
 
  1. ساختن آرایه و مقداردهی آنها
 
int [] marks = new int[5]  { 99,  98, 92, 97, 95};

 

  1. ایجاد آرایه بدون تعریف طول ثابت
 
int [] marks = new int[]  { 99,  98, 92, 97, 95};

 

  1. کپی کردن یک آرایه در آرایه دیگر که هر دو آرایه به خانه های مشابه در حافظه اشاره خواهند کرد
int [] marks = new int[]  { 99,  98, 92, 97, 95};
int[] score = marks;

 

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

حالا نوبت آن است که بدانیم چگونه به عناصر آرایه ها دسترسی پیدا کنیم؟
 
  •  استفاده از اندیس
 اینکار با استفاده از قرار دادن اندیس در براکت بعد از نام آرایه صورت می گیرد. برای مثال:
 
double salary = balance[9];

 

 
  • استفاده از دستور foreach:

در زبان سی شارپ، زمانی که ما ازیک آرایه تعریف می کنیم، در حقیقت ازیک مجموعه قابل شمارش (Enumerable) تعریف کرده ایم.
اما منظور از قابل شمارش چیست؟
نوع های قابل شمارش، نوع هایی هستند که ما می توانیم بوسیله دستور foreach به خانه های آنها دسترسی داشته باشیم.
 
ساختار کلی دستور foreach به صورت زیر است:
 
foreach({type} {variable-name} in {collection})
{
// loop syntaxes
}

 

  1. در قسمت type باید نوع متغیری که مجموعه بر اساس آن تعریف شده، مشخص کنیم. مثلا، اگر آرایه ای داریم که خانه های آن از نوع int است، باید به جای type نوع int را بنویسیم و در زمانی که نتوانیم نوع داده را مشخص کنیم باید از کلمه کلیدی var استفاده کنیم.
  2. قسمت variable-name باید نام متغیری که خانه های آرایه در آن قرار می گیرد را مشخص کنیم. این نام کاملاً دلخواه است.
  3. در قسمت collection نام مجموعه ای که قصد داریم به خانه های آن دسترسی داشته باشیم را می نویسیم.

شیوه عملکرد دستور foreach:

 حلقه ای بر روی مجموعه مورد نظر ایجاد می شود، سپس هر یک از خانه های آن مجموعه خوانده شده و مقدار آن داخل متغیری که نام آن را در بخش variable-name مشخص کردیم قرار میگیرد و می توانیم در هر تکرار، به آیتم خانه های آرایه به ترتیب قرارگیری در مجموعه دسترسی داشته باشیم.
 
بیشتر بخوانید:

راز هایی در مورد رشته ها در سی شارپ

 

گونه ای دیگر از آرایه ها در برنامه نویسی سی شارپ:

بحث آرایه در سی شارپ به اینجا ختم نمی شود. چرا که ما تا اینجای کار، آرایه های یک بعدی را مورد بررسی قرار دادیم. اما گونه ای دیگر از آرایه ها وجود دارند که دارای ابعاد متفاوت هستند و به آرایه های چند بعدی معروف اند.

اگر بخواهیم یک آرایه دوبعدی تعریف کنیم به صورت زیر عمل می کنیم:

string [,] names;
یا برای تعریف یک آرایه سه بعدی می نویسیم:
int [ , , ] m;

 

پر استفاده ترین نوع آرایه های چند بعدی:

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

اگر بخواهیم در هر سطر از آرایه تعداد خانه های متفاوتی داشته باشیم چه کنیم؟
باید از آرایه های نامنظم یا دندانه دار استفاده کنیم. این آرایه‌ها معمولا دارای سطرهایی با طول متغیر می‌باشند و به‌ گونه‌ای، یک آرایه‌ی ناهموار هستند. به عبارتی، آرایه‌ی دندانه‌دار را می‌توان به عنوان آرایه‌ای از آرایه‌ها در نظر گرفت.

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

 
datatype[] arrayName;

 

datatype نوع آرایه و سپس دو جفت براکت و در نهایت نام آرایه arrayName نام‌گذاری می‌شود.

کلام آخر:

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

حتما نظرات و تجربه های خود را با ما درمیان بگذارید.


کلمات کلیدی :
سی شارپ