آموزش سي شارپ - قسمت چهاردهم
آرايه ها در سي شارپ - Arrays in CSharp
آرايه ها را مي توان از يك ديدگاه به سه دسته تقسيم كرد:
1. آرايه هاي تك بعدي - Simple Arrays
2. آرايه هاي مستطيلي - Rectangular Arrays
3. آرايه هاي نامنتظم - Jagged Arrays
براي تعريف يك آرايه تك بعدي در سي شارپ مي توانيد از Syntax زير استفاده كنين:
numbers = new int[3];
numbers[0] = 100;
numbers[1] =400;
numbers[2] = 500;
البته به غير از كدي كه بالا نوشته شده است من مي توانم از هر يك از روش هاي زير نيز براي ايجاد آرايه هاي استفاده كنم:
int[] numbers = new int[]{100,400,500};
در روش بالا بدون ذكر طول آرايه با مقدار دهي مستقيم آن به وسيله مقاديري كه بين دو علامت {} قرار مي گيرند طول آن را مشخص مي نمائيم.اين هم يك نمونه ديگر از ايجاد آرايه ها:
int numbers = {100,400,500};
نكته قابل تامل در مورد آرايه ها اين است كه اين نوع هاي داده اي در دسته Reference Type ها قرار مي گيرند و اصولا مقادير آن ها در حافظه Heap نگهداري مي شود:Person[] personList = new Person[3];
دقت كنين كه حتما تمامي خانه هاي اين آرايه من بايد قبل از اينكه مورد استفاده بگيرند مقدار دهي شوند:personList[0] = new Person("Ali",24);
personList[1] = new Person("Reza",35);
personList[2] = new Person("John",44);
كه در نتيجه خطوط با شكل حافظه ما به اين ترتيب خواهد بود:
نكته بسيار مهم ديگر اين است كه ساختار آرايه ها به نحوي است كه طول آن ها ثابت مي باشد و در صورتيكه شما بخواهيد طول آن را تغيير دهيد مثلا از 3 خانه به 5 خانه ارتقاء دهيد بايد يكبار ديگر آن را new كنيد و در نتيجه اين new كردن شما اطلاعات قبلي خود را از دست خواهيد داد.
personList = new Person[5];
و نتيجه كد بالا اين شكل خواهد شد:ساختار foreach در سي شارپ
شما مي توانيد با استفاده از ساختار foreach در سي شارپ اطلاعات موجود در آرايه هاي خود را خوانده و از آن ها استفاده كنين. در حقيقت foreach يك نوع حلقه است كه بر روي آرايه ها شما انجام مي شود و تعداد دفعات انجام آن برابر است با طول حلقه شما و در هر با حركت يكي از خانه هاي آرايه شما را در اختيارتان قرار مي دهد. از Syntax زير براي ايجاد حلقه foreach استفاده مي نمائيم:
int[] myNums = new int[4];
myNums[0] = 10;
myNums[1] = 320;
myNums[2] = 150;
myNums[3] = 510;
foreach(int num in myNums)
Console.WriteLine(num);
! دقت داشته باشين كه در ساختار foreach شما اجازه تغيير آرايه خود را به هر نحوي نداريد و اگر اين عمل را انجام دهيد به runtime error برخورد خواهيد كرد.
آرايه هاي مستطيلي در سي شارپ - Rectangular Arrays in CSharp
براي ايجاد يك آرايه مستطيلي از Syntax زير استفاده كنين:
int[,] myMatrix = new int[10,10];
با توجه به كد بالا شما داراي يك ماتريكس 10 در 10 هستيد و براي استفاده از هر خانه از اين آرايه به index هاي x , y آن احتياج دارين:myMatrix[0,0] = 0;
myMatrix[0,1] = 100;
آرايه هاي نامنتظم - Jagged Arrays
اين آرايه ها را مي توان با استفاده از كد زير توليد كرد:
int[][] jaggedArray = new int[3][];
دقت داشته باشين كه در خط اول فقط طول يك بعد از آرايه را مشخص كرديم ==> 3jaggedArray[0] = new int[3];
jaggedArray[1] = new int[2];
jaggedArray[2] = new int[4];
استفاده از ArrayList در سي شارپ - ArrayList in Csharp
به خاطر ساختار آرايه ها در سي شارپ وقتي شما نياز به آرايه اي دارين كه طول آن نا مشخص است مي توانين از يك كلاس به نام ArrayList كه در namespaceي به نام System.Collection قرار دارد استفاده كنين.
ArrayList arList = new ArrayList();
arList.Add(10);
arList.Add(20);
arList.Add(40);
foreach(int i in arList)
Console.WriteLine(i);
ادامه دارد....