Dariush Tasdighi - داریوش تصدیقی
Dariush Tasdighi - داریوش تصدیقی
خواندن ۳ دقیقه·۵ سال پیش

آموزش #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، برابر منفی یک خواهد بود.

پایان

arraylistcollectionآموزشسی شارپمقدماتی
محقق، معمار، مشاور، مدرس و برنامه‌نویس حوزه فن‌آوری اطلاعات - تحلیل‌گر و فعال بازار بورس و سرمایه
شاید از این پست‌ها خوشتان بیاید