نکته مهم: این مقاله به مرور زمان، ویرایش و یا تکمیل میشود!
در صورتی که با مشکل تایپی، دستوری و یا مفهومی در این مقاله برخورد کردید، از شما دوست عزیز و گرامی، صمیمانه تقاضا میکنم که اینجانب را مطلع کرده، تا نسبت به تصحیح و تکمیل آن، در اسرع وقت اقدام نمایم.
با کمال تشکر
داریوش تصدیقی
۰۹۱۲۱۰۸۷۴۶۱ - DariushT@GMail.com - https://WebsiteAnalytics.ir
نسخه ۱.۰
نکته: قبل از هر چیز یادآوری میکنیم که در تمامی مجموعهها (Collection) و آرایهها (Array) در #C، اندیس (Index) اولین آیتم (Item) لیست، از صفر شروع میشود (Zero Based).
برای خلق یک ArrayList از دستور ذیل استفاده میکنیم:
System.Collections.ArrayList list = new System.Collections.ArrayList();
برای بدست آوردن تعداد آیتمهای موجود در لیست، از Property ای به نام Count (از جنس int) استفاده میکنیم:
int count = list.Count;
برای درج اطلاعات از دستور Add استفاده میکنیم.
نکته: دستور Add، همیشه به انتهای لیست اضافه میکند.
list.Add("Babak"); list.Add("Kambiz"); list.Add("Ahmad"); list.Add("Behnam");
برای نمایش اطلاعات list در Console Application، یکی از دستورات ذیل را استفاده میکنیم:
for (int index = 0; index < list.Count; index++) { System.Console.WriteLine(list[index]); }
و یا
foreach (string item in list) { System.Console.WriteLine(item); }
نتیجه اجرای هر یک از دستورات فوق:
لیست شماره یک
Babak Kambiz Ahmad Behnam
برای درج یک آیتم، در محل مورد نظر (ابتدا یا وسط لیست)، از دستور Insert استفاده کرده و اندیس مورد نظر را مشخص میکنیم. فرض کنید که میخواهیم نام Pedram را بین Babak و Kambiz درج نماییم، برای این منظور از دستور ذیل استفاده میکنیم:
list.Insert(1, "Pedram");
و یا
list.Insert(index: 1, value: "Pedram");
در صورتی که فهرست را مجددا چاپ نماییم، نتیجه به صورت ذیل خواهد بود:
لیست شماره دو
Babak Pedram Kambiz Ahmad Behnam
برای حذف تمام آیتمهای موجود در لیست، از دستور Clear استفاده میکنیم:
list.Clear();
برای حذف یک آیتم از لیست، از دستور Remove استفاده میکنیم.
list.Remove("Ahmad");
نکته: در صورتی که در لیست مورد نظر (به عنوان مثال) سه نام Ahmad وجود داشته باشد، در صورتی که از دستور فوق استفاده نماییم، صرفا اولین Ahmad از لیست حذف میگردد! نه همه Ahmad ها!
برای این که یک آیتم را که اندیس آن یک میباشد، حذف نماییم، از دستور ذیل استفاده میکنیم:
list.RemoveAt(1);
در صورتی که دومین آیتم لیست، که دارای اندیس یک میباشد، کلمه Pedram باشد، با استفاده از دستور فوق، کلمه Pedram از لیست حذف میگردد.
برای اینکه ترتیب اطلاعات موجود در لیست را برعکس نماییم، از دستور ذیل استفاده میکنیم:
list.Reverse();
در صورتی که اطلاعات موجود در لیست، بر اساس لیست شماره یک باشد، بعد از اجرای دستور فوق، نمایش اطلاعات به صورت ذیل خواهد بود:
لیست شماره سه
Behnam Ahmad Kambiz Babak
برای اینکه چک کنیم که آیا آیتمی در لیست وجود دارد یا خیر، از دستور Contains استفاده میکنیم. خروجی دستور Contains، یک Boolean میباشد.
bool exists1 = list.Contains("Ahmad"); bool exists2 = list.Contains("Dariush");
بر اساس لیست شماره یک، مقدار متغیر exists1، برابر true و مقدار exists2، برابر false خواهد شد.
در صورتی که بخواهیم همه آیتمهای Ahmad را از لیست حذف نماییم (با فرض اینکه در لیست مورد نظر، بیش از یک Ahmad وجود داشته باشد)، از دستورات ذیل استفاده میکنیم:
while (list.Contains("Ahmad")) { list.Remove("Ahmad"); }
فرض کنید که لیست آیتمهای موجود در list، بر اساس لیست ذیل باشد:
لیست شماره چهار
Behnam Ahmad Kambiz Ahmad Babak Ahmad Dariush Reza
در صورتی که بخواهیم، برنامه از ابتدا جستجو را آغاز کرده و اندیس آیتم یافت شده را از ابتدا به ما نمایش دهد، از دستور IndexOf استفاده میکنیم:
int index1 = list.IndexOf("Ahmad"); int index2 = list.IndexOf("Sara");
بر اساس لیست شماره چهار، در دستورات فوق، مقدار متغیر index1، برابر یک، و مقدار متغیر index2، برابر منفی یک خواهد بود.
در صورتی که بخواهیم، برنامه از انتها جستجو را آغاز کرده و اندیس آیتم یافت شده را از ابتدا به ما نمایش دهد، از دستور LastIndexOf استفاده میکنیم:
int index1 = list.LastIndexOf("Ahmad"); int index2 = list.LastIndexOf("Sara");
بر اساس لیست شماره چهار، در دستورات فوق، مقدار متغیر index1، برابر پنج، و مقدار متغیر index2، برابر منفی یک خواهد بود.
پایان