آموزش آرایه ها در سی شارپ به زبان ساده
آرایه ها به صورت مجموعه ای از آیتم ها، برای مثال مجموعه ای از رشته ها؛ کار می کنند. شما می توانید از آنها برای جمع آوری آیتم ها در یک گروه واحد استفاده کنید و عملیات های قبلی را روی آنها اجرا بکنید؛ مثلاً می توانید آنها را مرتب سازی کنید. علاوه بر این؛ چندین متد درون چارچوب هستند که روی آرایه ها کار می کنند؛ تا پذیرش یک محدوده از آیتم ها به جای یکی را امکان پذیر کند. این واقعیت به تنهایی باعث می شود که شناخت آرایه ها از اهمیت ویژه ای برخوردار شود.
آرایه ها خیلی شبیه به متغیرها بیان می شود؛ با این تفاوت که پارامترهای مربوط به آنها درون براکت قرار می گیرند:
string[] names;
شما باید آرایه را نمونه سازی کنید تا بتوانید از آن استفاده کنید؛ این کار مشابه زیر انجام می شود:
string[] names = new string[2];
شماره (۲) اندازه آرایه است؛ که مقدار آیتم هایی است که می توانیم در آن قرار بدهیم. قرار دادن آیتم ها در آرایه بسیار ساده است، مثال زیر را ببینید:
names[0] = “John Doe”;
شاید بپرسید چرا ۰؟ همانند بسیاری از نکات دیگر در زبان برنامه نویسی؛ شمارش به جای ۱ از ۰ آغاز می شود. بنابراین؛ اولین آیتم به صورت ۰ مشخص می شود؛ بعدی ۱ و به همین ترتیب ادامه می یابد. شما باید هنگام پر کردن آرایه با آیتم ها این نکته را به یاد داشته باشید؛ زیرا پر کردن بیش از حد آن یک استثنا محسوب می شود. زمانی که شما به عنصر اولیه ساز نگاه می کنید؛ تنظیم کردن آرایه روی اندازه ی ۲، ممکن است برای قرار دادن آیتم شماره ۰، ۱ و ۲ در آن؛ طبیعی به نظر برسد؛ اما اینجا یک آیتم زیادی وجود دارد. اگر این کار را انجام بدهید؛ یک استثنا رخ خواهد داد. در فصل بعدی درباره استثنائات صحبت می شود.
پیشتر، درباره حلقه ها آموختیم؛ بدیهی است که استفاده از حلقه ها با به کار گرفتن آرایه ها عالی خواهد بود. متداول ترین روش برای خارج کردن داده ها از آرایه؛ حلقه زدن از طریق آن و انجام برخی از عملیات ها روی هر مقدار است. بیایید برای این که مثالی واقعی داشته باشیم؛ از آرایه ها استفاده کنیم.
using System;
using System.Collections;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string[] names = new string[2];names[0] = “John Doe”;
names[1] = “Jane Doe”;foreach(string s in names)
Console.WriteLine(s);Console.ReadLine();
}
}
}
برنامه نویسی سی شارپ رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی با ساخت اپلیکیشن، توسعه وب ... دانلود:
ما از حلقه foreach استفاده کرده ایم؛ زیرا این حلقه ساده ترین نوع حلقه می باشد؛ اما البته می توانیم یکی از انواع دیگر حلقه ها را استفاده کنیم. حلقه for را نیز می توان به خوبی با آرایه ها به کار گرفت؛ برای مثال؛ شما مانند زیر می توانید هر آیتم را شمارش کنید:
for(int i = 0; i < names.Length; i++)
Console.WriteLine(“Item number ” + i + “: ” + names[i]);
این درواقع بسیار ساده است. ما از ویژگی Length (طول) آرایه استفاده می کنیم تا تصمیم بگیریم که حلقه چندبار باید تکرار بشود و سپس از شمارنده (counter (i استفاده می کنیم تا مشخص کنیم که کجای فرآیند هستیم؛ و نیز آیتم را از آرایه دریافت کنیم. دقیقاً همان طور که از یک عدد استفاده می کردیم؛ یک به اصطلاح ایندکسر برای به قرار دادن آیتم ها در آرایه به کار می رود؛ می توانیم از آن دوباره برای خارج کردن یک آیتم خاص استفاده کنیم.
پیشتر مطرح کردیم که می توانیم از یک ارایه برای مرتب کردن محدوده ای از مقادیر استفاده کنیم؛ و این کار نیز در واقع بسیار ساده است. کلاس Array (آرایه) دربر گیرنده شاخه ای از متدهای هوشمند برای کار با این آرایه ها می باشد. این مثال به جای رشته ها؛ از اعداد استفاده می کنند؛ فقط برای آن که چیز متفاوتی امتحان کنیم؛ که اگر مجموعه ای کوچک و از پیش تعریف شده از آیتم ها داشته باشید و بخواهید آن را در آرایه خود قرار بدهید؛ آسان تر خواهد بود. به مثال زیر نگاهی بیندازید:
int[] numbers = new int[5] { 4, 3, 8, 0, 5 };
با یک خط؛ ما یک آرایه ایجاد کرده ایم که اندازه آن ۵ می باشد و آن را با ۵ عددد صحیح پر کرده ایم. با پر کردن آرایه؛ به این شکل، شما یک مزیت بیشتر خواهید داشت؛ چرا که کامپایلر بررسی کرده و اطمینان حاصل می کند که شما آیتم های بیشتر از حد مجاز در آرایه قرار نداده اید. سعی کنید یک عدد بیشتر اضافه کنید – خواهید دید که کامپایلر خطا می دهد-
در واقع؛ این تعداد مانند زیر؛ می تواند کوتاه تر نیز باشد:
int[] numbers = { 4, 3, 8, 0, 5 };
این آرایه کوتاه است و لازم نیست سایز را مشخص کنید. هرچند ممکن است مطالعه روش اول آسانتر باشد.
بیایید مرتب کردن آرایه را امتحان کنیم. در ادامه مثال کاملی آورده ایم:
using System;
using System.Collections;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] numbers = { 4, 3, 8, 0, 5 };Array.Sort(numbers);
foreach(int i in numbers)
Console.WriteLine(i);Console.ReadLine();
}
}
}
تنها چیز کاملاً جدیدی که در اینجا مشاهده می کنید؛ دستور Array.Sort است. این فرمان می تواند پارامترهای مختلفی را برای انواع مختلفی از طبقه بندی بپذیرد. اما در این حالت، این دستور؛ به سادگی آرایه ما را گرفته است. همانطور که از نتیجه مشاهده می کنید، آرایه ما طبقه بندی و مرتب شده است. کلاس Array متدهای دیگری نیز؛ به عنوان مثال متد ()Reverse را در بر می گیرد. برای دیدن کل ویژگی های کلاس Array می توانید توضیحات نوشتاری برنامه را مطالعه کنید.
آرایه هایی که تاکنون از آنها استفاده کرده ایم ، تنها یک بعد دارند. با این حال، آرایه های سی شارپ می توانند چند بعدی باشند، که گاهی اوقات از آنها به عنوان آرایه در آرایه یاد می شود. آرایه های چند بعدی به دو ویژگی همراه با سی شارپ وارد می شوند: آرایه های مستطیلی و آرایه های دندانه دار. تفاوت این دو آن است که در آرایه های مستطیلی، تمام ابعاد باید یک اندازه باشد ، از این رو نام آن مستطیلی است. یک آرایه دندانه دار؛ می تواند ابعاد مختلفی داشته باشد. آرایه های چند بعدی یک موضوع گسترده بوده و کمی خارج از محدوده این آموزش می باشد.