آموزش #C مقدماتی - آموزش ArrayList

نکته مهم: این مقاله به مرور زمان، ویرایش و یا تکمیل می‌شود!در صورتی که با مشکل تایپی، دستوری و یا مفهومی در این مقاله برخورد کردید، از شما دوست عزیز و گرامی، صمیمانه تقاضا می‌کنم که اینجانب را مطلع کرده، تا نسبت به تصحیح و تکمیل آن، در اسرع وقت اقدام نمایم.با کمال تشکرداریوش تصدیقی۰۹۱۲۱۰۸۷۴۶۱ - 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(&quotBabak&quot); list.Add(&quotKambiz&quot); list.Add(&quotAhmad&quot); list.Add(&quotBehnam&quot);نمایش اطلاعات لیستبرای نمایش اطلاعات ‌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, &quotPedram&quot);و یاlist.Insert(index: 1, value: &quotPedram&quot);در صورتی که فهرست را مجددا چاپ نماییم، نتیجه به صورت ذیل خواهد بود:لیست شماره دوBabak Pedram Kambiz Ahmad Behnamحذف تمام آیتم‌های موجود در لیستبرای حذف تمام آیتم‌های موجود در لیست، از دستور Clear استفاده می‌کنیم:list.Clear();حذف یک آیتم از لیستبرای حذف یک آیتم از لیست، از دستور Remove استفاده می‌کنیم.list.Remove(&quotAhmad&quot);نکته: در صورتی که در لیست مورد نظر (به عنوان مثال) سه نام Ahmad وجود داشته باشد، در صورتی که از دستور فوق استفاده نماییم، صرفا اولین Ahmad‌ از لیست حذف می‌گردد! نه همه Ahmad ها!حذف یک آیتم از لیست (با کمک اندیس)برای این که یک آیتم را که اندیس آن یک می‌باشد، حذف نماییم، از دستور ذیل استفاده می‌کنیم:list.RemoveAt(1);در صورتی که دومین آیتم لیست، که دارای اندیس یک می‌باشد، کلمه Pedram باشد، با استفاده از دستور فوق، کلمه Pedram از لیست حذف می‌گردد.برعکس کردن ترتیب آیتم‌های لیستبرای اینکه ترتیب اطلاعات موجود در لیست را برعکس نماییم، از دستور ذیل استفاده می‌کنیم:list.Reverse();در صورتی که اطلاعات موجود در لیست، بر اساس لیست شماره یک باشد، بعد از اجرای دستور فوق، نمایش اطلاعات به صورت ذیل خواهد بود:لیست شماره سهBehnam Ahmad Kambiz Babakبررسی وجود یا عدم وجود یک آیتم در لیستبرای اینکه چک کنیم که آیا آیتمی در لیست وجود دارد یا خیر، از دستور Contains استفاده می‌کنیم. خروجی دستور Contains، یک Boolean می‌باشد.bool exists1 = list.Contains(&quotAhmad&quot); bool exists2 = list.Contains(&quotDariush&quot);بر اساس لیست شماره یک، مقدار متغیر exists1، برابر true و مقدار exists2، برابر false خواهد شد.یک مثال کاربردیدر صورتی که بخواهیم همه آیتم‌های Ahmad را از لیست حذف نماییم (با فرض اینکه در لیست مورد نظر، بیش از یک Ahmad وجود داشته باشد)، از دستورات ذیل استفاده می‌کنیم:while (list.Contains(&quotAhmad&quot)) { list.Remove(&quotAhmad&quot); }دستورات IndexOf و LastIndexOfفرض کنید که لیست آیتم‌های موجود در list، بر اساس لیست ذیل باشد:لیست شماره چهارBehnam Ahmad Kambiz Ahmad Babak Ahmad Dariush Rezaدر صورتی که بخواهیم، برنامه از ابتدا جستجو را آغاز کرده و اندیس آیتم یافت شده را از ابتدا به ما نمایش دهد، از دستور IndexOf استفاده می‌کنیم:int index1 = list.IndexOf(&quotAhmad&quot); int index2 = list.IndexOf(&quotSara&quot);بر اساس لیست شماره چهار، در دستورات فوق، مقدار متغیر index1، برابر یک، و مقدار متغیر index2، برابر منفی یک خواهد بود.در صورتی که بخواهیم، برنامه از انتها جستجو را آغاز کرده و اندیس آیتم یافت شده را از ابتدا به ما نمایش دهد، از دستور LastIndexOf استفاده می‌کنیم:int index1 = list.LastIndexOf(&quotAhmad&quot); int index2 = list.LastIndexOf(&quotSara&quot);بر اساس لیست شماره چهار، در دستورات فوق، مقدار متغیر index1، برابر پنج، و مقدار متغیر index2، برابر منفی یک خواهد بود.پایان