کالکشن چیست؟
نام دوره: زبان سی شارپ مقدماتی
نویسنده: علی مقدم جاه (مدرس دوره)
<hr>
کالکشن در سی شارپ چیست؟
تا قبل از ظهور کالکشنها، برنامهنویسان برای ذخیره اطلاعات از انواع آرایهها استفاده میکردند.
آرایهها، خانههای کنار هم از حافظه بودند که همگی دارای یک نام بوده و همچنین تنها از یک نوع داده پشتیبانی میکردند، که در اصل مزیت اصلی آنها هم دقیقا همین ویژگی میباشد.
به همین علت همچنان توصیه میشود که اگر برای ذخیره کردن دادهها در پروژههایتان، به طور قطع میدانید که چه تعداد خانه در حافظه نیاز دارید و از آن نیز مطمئن هستید، پس از انواع آرایهها استفاده کنید، زیرا سرعت آرایهها بسیار بیشتر از کالکشنها است.
اما همانطور که میدانید، با پیشرفت تکنولوژی و همهگیر شدن اینترنت بینالملل، حجم دادههای تمامی سایتها افزایش یافته و واقعا دیگر قابل محاسبه و پیشبینی نیست! درنتیجه تکنولوژی جدیدی به نام کالکشنها بوجود آمدند.
تعریف کالکشن: به هر مجموعهای از داده که برخلاف آرایهها در حافظه کنار یکدیگر نیستند، کالشن میگویند.
به طور کلی کالکشنها به دو دسته زیر تقسیم میشوند:
۱. کالکشنهای جنریک
۲. کالکشنهای غیر جنریک
برای استفاده از کالکشن مورد نظر، باید ابتدا در بالای برنامه خود namespace آن را using کنید:
using System.Collections;
using System.Collections.Generic;
همانطور که گفته شد، خانههای کالکشن در حافظه برخلاف آرایهها، کنار یکدیگر نبوده و این امر باعث میشود که در هنگام جستجو دادهها، کمی سرعتشان از آرایهها کمتر باشد؛ اما این موضوع با فرض در نظر نگرفتن سرعت که البته بسیار ناچیز است، مزیتهای را نیز به همراه دارد که در ادامه به برخی از آنان میپردازیم:
۱. در کالکشنها برخلاف آرایهها میتوانیم در هر زمان طبق نیاز خود، یک خانه جدید از حافظه دریافت کنیم.
۲. در کالکشنها برخلاف آرایهها میتوانیم هر زمان طبق نیاز خود یک خانه از کالکشن را از حافظه حذف کنیم.
۳. در کالکشنها برخلاف آرایهها میتوانیم در هر خانه از یک نوع داده استفاده کنیم!
جهت شرکت در دورههای زبان برنامه نویسی سیشارپ، از کد تخفیف heplc30 استفاده کنید.