در سی شارپ کلاس هایی وجود دارد که میتوان از آنها همانند آرایه ها برای ذخیره سازی مجموعه ای از مقادیر استفاده کرد. به این کلاس ها کلاس های کالکشن (Collection) گفته میشود. در این فصل با کلاس های کالکشن آشنا خواهیم شد.
کالکشن ها
در فصل قبل در مورد آرایه ها مطالبی را یاد گرفتیم. سی شارپ همچنین دارای کلاسهای مخصوصی است که مقادیر و یا اشیا را به صورت یک مجموعه در خود ذخیره می کنند، که به آنها کلاس های collection گفته میشود. در سی شارپ دو نوع collection وجود دارد :
کالکشن های generic
و کالکشن های non-generic
.
در این بخش و چند فصل بعدی مطالبی را در مورد کالکشن های non-generic خواهیم آموخت. هر کلاسی که در دسته ی کالکشن ها قرار میگیرد ، اینترفیس IEnumerable
را پیاده سازی می کند. بنابراین آیتم های آن کالکشن توسط حلقه foreach
قابل دسترسی است. فضای نام System.Collections
شامل کالکشن های non-generic زیر است :
-
: همانند آرایه ها می تواند شی ایی از هر نوع را در خود ذخیره کند. با این حال زمانی که از این کلاس استفاده می کنید نیاز نیست اندازه ArrayList را مشخص کنید. اندازه کالکشن به صورت خودکار توسط کامپایلر محاسبه می شود.ArrayList
-
SortedList
: مقادیر را به صورت key و value ذخیره میکند. این کالکشن به صورت خودکار و صعودی عناصر را برحسب key مرتب مرتب سازی می نماید. -
Stack
: مقادیر را به صورت LIFO (آخرین مقدار، اولین مقدار خارج میشود) ذخیره میکند. این کالکشن از متد های ()Push و ()Pop و ()Peek برای اضافه و بازیابی مقادیر استفاده می کند. -
Queue
: این کالکشن مقادیر را به صورت FIFO (اولین مقدار ، اولین مقدار خارج می شود) ذخیره میکند. این کالکشن ترتیب اضافه شدن مقادیر به Queue را حفظ میکند. کالکشن Queue از متدهای ()Enqueue و ()Dequeue برای افزودن و حذف آیتم از خود استفاده میکند. -
Hashtable
: این کالکشن مقادیر را به صورت key و value ذخیره میکند.