جلسه چهارم دوره آموزشی شیکرایی در زبان سیشارپ به تدریس مهندس سید سروش سید صدر با موفقیت برگزار شد.
مباحثی که در این جلسه مطرح شد به شرح ذیل است:
1- Interfaceها
در این جلسه در ادامه جلسه قبل به بحث کالکشنها و اینترفیسها پرداختیم. اینترفیسها امکانی برای تعریف کردن یک سری قراردادها و قالبها میباشد که باید توسط کلاسها پیادهسازی شوند. مزیت اصلی استفاده از اینترفیسها کاهش وابستگی میباشد. نام اینترفیسها باید با حرف I شروع شوند گرچه میتوان از این قرارداد چشمپوشی کرد اما از طرفی بهتر است این اتفاق نیفتد.
2- IEnumerable
یکی از رایجترین اینترفیسها IEnumerable میباشد و هر کلاسی که آن را پیادهسازی کرده باشد فقط قابلیت پیمایش شدن دارد و امکانات دیگری را شامل نمیشود. با استفاده از این اینترفیس میتوانیم به ماهیت و عملکرد دستور foreach پی ببریم. برای نمونه در این جلسه برای یک کلاس دلخواه امکان داشتن foreach را فراهم کردیم.
3- ICollection
اینترفیس رایج دیگری که وجود دارد ICollection است که علاوه بر قابلیت پیمایش شدن امکان شمردن آیتمها و تغییر دادن آنها نیز وجود دارد. شامل متدهایی از قبیل
- Add
- Remove
- Clear
- و موارد دیگر میباشد.
4- IList
اینترفیس IList قابلیت جستجو کردن بر اساس ایندکس را نیز به موارد قبلی اضافه کرده است. شامل متدهایی از قبیل:
- Insert
- RemoveAt
میباشد که با ایندکس کار میکنند .
5- IDictionary
با اینترفیس Idictionary میتوان مجموعههایی از جنس جفت کلید مقدار داشت و امکان جستجو بر اساس کلید که مختص دیکشنریها میباشد.
6- ISet
یکی از مباحثی که در دوران تحصیل یاد گرفتیم مجموعههای بود که میتوانستیم آنها را باهم اجتماع ، اشتراک و یا تفاضل بگیریم . در دات نت آنها را به اسم Set میشناسیم .
تمام این قابلیتها در کنار امکانات خیلی بیشتری در اینترفیس ISet پیشبینی شده است و ما میتوانیم Setهای متفاوتی داشته باشیم و روی آنها این عملیات را انجام دهیم .
در این تصویر عملیات بر روی Set ها و عملیات مقایسهای نمایش داده شدهاند.
7- HashSet
در ادامه برای تکمیل بحث کالکشنها، HashSet را معرفی کردیم. در این نوع از کالکشن آیتمها ترتیب خاصی ندارند و اگر دیتای تکراری وارد کنید خودش آنها را حذف میکند.
8- Sorted Set
برخلاف کالکشن قبلی اگر بخواهیم دیتای مرتب شده داشته باشیم میتوانیم از SortedSet استفاده کنیم .
9- Hashtable
این کالکشن از دسته جنریکها نمیباشد و برای نگهداری اطلاعات بسیار زیاد مناسب است . مانند دیکشنریها بر اساس جفت کلید مقدار رفتار میکند
10- ListDictionary
این کالکشن بسیار خاص میباشد و در دستهبندی کالکشنهای Specialized قرار میگیرد . نکته خاص آن مناسب بودن برای تعداد آیتمهای کمتر از 10 مورد میباشد.
11- HybridDictionary
این کالکشن نیز در دستهبندی کالشنهای Specialized قرار میگیرد . نکته خاص آن ترکیبی بودن آن میباشد! اگر تعداد آیتمها کمتر از 10 مورد باشد از ListDictionary استفاده میکند و اگر بیشتر باشد از Hashtable استفاده میکند .
جهت کسب اطلاعات بیشتر میتوانید به دوره بسیار کاربردی شیکرایی در زبان سیشارپ مراجعه کنید.