کالکشن ها در سی شارپ (Collections)

در این بخش، به معرفی مجموعه های عمومی (Generic Collection) و مجموعه های غیر عمومی (Non-generic Collection) و مجموعه کلاس های آنها می پردازیم.

کالکشن ها در سی شارپ (Collections)

کالکشن های عمومی (Generic) و کالکشن های غیر عمومی (Non-generic) در سی شارپ

سی شارپ شامل کلاس های تخصصی است که سری هایی از مقادیر یا اشیاء را ذخیره می کند که مجموعه نامیده می شود.

دو نوع مجموعه در سی شارپ موجود است: کالکشن های غیر عمومی (non-generic collections) و کالکشن های عمومی (generic collections).

فضای نام System.Collections شامل انواع کالکشن غیر عمومی و فضای نام System.Collections.Generic شامل انواع کالکشن عمومی است.

در بیشتر موارد، استفاده از کالکشن های عمومی توصیه می شود، زیرا آنها سریعتر از کالکشن های غیر عمومی عمل می کنند و همچنین با دادن خطاهای زمان کامپایل، استثناها را به حداقل می رساند.

کالکشن های عمومی (Generic Collections)

#C شامل کلاس های کالکشن عمومی زیر در فضای نام System.Collections.Generic می باشد.

1- <List<T

<Generic List<T حاوی عناصری از نوع مشخص شده است که با اضافه کردن عناصر به آن، به طور خودکار رشد می کند.

2- <SortedList<TKey,TValue

Generic SortedList با علامت های<> مشخص می شود که TKey برای نوع کلید و TValue برای نوع مقدار است. SortedList نشان دهنده کالکشنی از جفت های کلید-مقدار است که به طور خودکار عناصر را به طور پیش فرض بر اساس کلید به صورت صعودی مرتب می کند.

3- <Dictionary<TKey,TValue

<Dictionary<TKey,TValue حاوی جفت های کلید-مقدار است.

4- <Queue<T

<Queue<T مقادیر را به سبک FIFO یعنی به صورت First In First Out ذخیره می کند. ترتیب اضافه شدن مقادیر را حفظ می کند. متد ()Enqueue برای اضافه کردن مقادیر و متد ()Dequeue برای بازیابی مقادیر از مجموعه است.

5- <Stack<T

<Stack<T مقادیر را به سبک LIFO یعنی به صورت Last In First Out ذخیره می کند. متد ()Push برای اضافه کردن یک مقدار و متد ()Pop و ()Peek برای بازیابی مقادیر می باشند.

6- <Hashset<T

<Hashset<T حاوی عناصر غیر تکراری است. عناصر تکراری را حذف می کند.

کالکشن های غیر عمومی (Non-generic Collections)

1- ArrayList

ArrayList این کالکشن اشیاء از هر نوعی را ذخیره می کند به عنوان مثال آرایه. با این حال، نیازی به تعیین اندازه ArrayList مانند یک آرایه نیست زیرا به طور خودکار رشد می کند.

2- SortedList

SortedList جفت های کلید-مقدار را ذخیره می کند. به این صورت که عناصر را به ترتیب صعودی براساس کلید به طور خودکار مرتب می کند. #C شامل هر دو کالکشن SortedList عمومی و غیر عمومی است. در SortedList غیر عمومی نوع کلید و مقادیر را مشخص نمی کنند.

3- Stack

Stack مقادیر را به سبک LIFO یعنی به صورت Last In First Out ذخیره می کند. متد Push() برای اضافه کردن یک مقدار و متد ()Pop و ()Peek برای بازیابی مقادیر هستند. #C شامل هر دو دسته عمومی و غیر عمومی است.

4- Queue

Queue مقادیر را به سبک FIFO یعنی به صورت First In First Out ذخیره می کند. ترتیب اضافه شدن مقادیر را حفظ می کند. یک متد ()Enqueue برای اضافه کردن مقادیر و یک متد ()Dequeue برای بازیابی مقادیر از مجموعه ارائه می کند. #C شامل صف عمومی و غیر عمومی است.

5-Hashtable

Hashtable جفت های کلید-مقدار را ذخیره می کند و با مقایسه مقدار هش کلیدها، مقادیر را بازیابی می کند.

6- BitArray

BitArray یک آرایه فشرده از مقادیر بیت را مدیریت می کند که به صورت Booleans نمایش داده می شوند، جایی که true نشان دهنده روشن بودن بیت (1) و false نشان دهنده خاموش بودن بیت (0) است.

Generic Collection Non-generic Collection کالکشن های عمومی کالکشن های غیرعمومی آموزش سی شارپ

مقالات این دسته بندی