از آرایه در سی شارپ در چه مواقعی باید استفاده کرد؟
از آرایه در سی شارپ در چه مواقعی باید استفاده کرد؟
اولین چیزی که معمولا در برنامهنویسی آموزش داده میشود، مقداردهی به متغیرها است. برنامههای ساده و تمرینی اکثرا با مقداردهی به یک متغیرمثل X) ) شروع میشوند.
اما هرچه جلوتر بروید و وارد دنیای برنامهنویسی شوید، نیاز به ذخیره و کار با اطلاعات به صورت دستهای را بیشتر حس میکنید. اینجاست که متغیرها دیگر جوابگو نیستند و اگر هم باشند، وقت زیادی را از شما خواهند گرفت. برای حل این مشکل سی شارپ آرایه ها را معرفی کرد. یک آرایه یک نوع داده ای خاص است که می تواند تعداد مشخصی مقدار را در خود به صورت دنباله ای از مقادیر ذخیره کند.
نحوه تعریف آرایه
آرایه با دستور کلی زیر تعریف میشود:
<span style="font-size: 16px;">type[] arrayName;</span>
type نوع دادههای آرایه را مشخص میکند (int، double یا…) و در قسمت arrayName نام منتخب برنامهنویس قرار میگیرد.
روش های مقداردهی یک آرایه
در زبان برنامه نویسی سی شارپ با 5 روش مختلف می توانیم مقدار دهی آرایه ها را انجام دهیم.
- میتوانیم با استفاده از شماره Index به عنصر مورد نظر دسترسی داشته باشیم و مقدار دهی آن را انجام دهیم.
string[] leaingSite = new string[10];
leaingSite[0] = "bugeto.net";
- این امکان نیز وجود دارد که هنگام تعریف آرایه همان لحظه مقدار دهی آن را انجام دهیم
double[] balance = { 2340.0, 4523.69, 3421.0};
- در یک خط کد می توانیم بعد از ایجاد کردن بلافاصله مقداردهی آن را انجام دهیم
int [] num = new int[5] { 20, 77, 118, 110, 115};
- برای مقدار دهی می توانیم اندازه آرایه را وارد نکنیم و همانجا شروع به مقدار دهی کنیم
int [] num = new int[] { 20, 19, 88, 1399, 1400};
- می توانیم با روش زیر یک متغیر را در یک متغیر دیگر کپی کنیم. در چنین حالتی هر دو متغیر به یک مکان از حافظه اشاره می کنند.
int [] num = new int[] { 20,150,186, 698, 7};
int[] score = marks;
دسترسی به المانهای یک آرایه
یک المان توسط ایندکسهای آرایه در دسترس خواهد بود. برای اینکار کافیست ایندکس آرایه را درون براکت آن متغییر قرار دهیم. به نمونهی زیر توجه کنید.
double salary = darsman[9];
با دستور فوق اطلاعات مربوط به خانهی شماره ۱۰ (ایندکس ۹) در اختیار قرار بگیرد و درون متغییر salary ذخیره گردد.
به مثال زیر توجه کنید، در این مثال میخواهیم اطلاعات تک تک درایههای یک آرایه با ۱۰ خانه را نمایش دهیم. توجه داشته باشید که به هنگام تعریف آرایههایی از نوع int مقداردهی اولیه بگونهای است که در ابتدا تمام درایهها ۰ میباشد. در این مثال تک تک درایهها با عدد ۱۰۰ جمع شده و مقدار حاصله به همراه نمایش ایندکس آنها چاپ میشود:
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
حلقهی foreach به معنای «به ازای هر» میباشد. از این حلقه برای دسترسی به تک تک المانها و آیتمهای یک آرایه استفاده میشود تا از تکرار یک دستور خودداری کنیم. به مثال زیر توجه کنید:
using System;
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
int [] narray = new int[5] {1,2,3,4,5}; /* n is an array of 10 integers */
foreach ( int i in narray)
{
Console.WriteLine("Element = {0}", i);
}
Console.ReadKey();
}
}
}
در این حالت تک تک درایههای یک آرایه چاپ میشود و خروجی به صورت زیر خواهد بود:
Element = 1
Element = 2
Element = 3
Element = 4
Element = 5
کلام آخر:
بحث آرایه در سی شارپ به اینجا ختم نمی شود. چرا که ما تا اینجای کار آرایه های یک بعدی را مورد بررسی قرار دادیم. اما گونه ای دیگر از آرایه ها وجود دارند که دارای ابعاد متفاوت هستند و به آرایه های چند بعدی معروف هستند.
مثلا اگر بخواهیم یک آرایه دوبعدی تعریف کنیم به صورت زیر عمل می کنیم:
string [,] names;
یا برای تعریف یک آرایه سه بعدی می نویسیم:
int [ , , ] m;
آرایه ها یکی از پرکاربرد ترین ساختار داده ها به حساب می آیند و ما سعی کردیم تا شما را با مباحثی که در این حوزه قرار می گیرد آشنا کنیم.
به عنوان یک دوست که در این راه تجربه های زیادی کسب کردم به شما توصیه میکنم که اگر در مفاهیم ابتدایی این زبان مثل تعریف متغیرها، دستورات شرطی، حلقه های تکرار و.... تسلط کافی ندارید از آموزش های مقدماتی سی شارپ غاف نشوید.
+ نوشته شده در شنبه 6 دی 1399ساعت 18:21 توسط fattahi |