IEnumerable و ICollection در سی شارپ
چهارشنبه 3 تیر 1394در این مقاله شما با IEnumerable و ICollection در سی شارپ و نحوه بکار گیری آنها آشنا خواهید شد .همچنین برای درک بهتر مطلب نیز یک مثال ایجاد کرده ایم.
در این بخش ما در مورد دو قسمت از بخش های مهم برنامه نویسی و کاربرد آنها توضیح خواهیم داد .IEnumerable شما را قادر میسازد که یک مجموعه را شمارش کنید .در ابتدا برای این عملیات میبایست از متد ()GetEnumerator استفاده کرده ایم .این متد یک شمارنده را بر میگرداند .یک نکته مهم برای درک بهتر این است که در یک مجموعه تکرار نمیشود .اساسا با توجه به شمارش انجام میدهد و هدف منحصر بفردی که برای بکارگیری IEnumerable این است که یک شمارنده را در یک مجموعه تولید کنیم .اگر چه متد foreach نیز برای کل مجموعه همین کار را انجام میدهد .بنابراین اگر این عملیات را بر اساس منطق تکرار کنیم ، در نهایت خروجی که به ما میدهد یکسان میباشد .
using System.Collections; using System.Collections.Generic; using System.Linq; using System; namespace Collections { internal class Array { private static void Main(string[] args) { var monthsofYear = new List<string> { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; foreach (var months in monthsofYear) { Console.WriteLine(months); } Console.ReadLine(); } } }
ICollection یک متغیر را برای مجموعه داخل حافظه از سایر متغیرها جدا میکند .اگر چه تفاوت اصلی بین ICollection و IEnumerable این است که ICollection یک عملیات قابل ویرایش میباشد و IEnumerable فقط خواندنی میباشد .ICollection برای تغییرات لیست در مجموعه استفاده میشود :
()Add
()Remove
()Clear
()IsReadOnly
به غیر از این متدها ، همچنین تعداد یک مجموعه را نمایش میدهد و عنصر موجود را نیز با متد ()contains
بررسی میکند .اکنون می خواهیم در مورد این خاصیت بیشتر توضیح دهیم ، در تصویری که در ادامه مشاهده میکنید ، از متد ()Containt استفاده کرده ایم .
using System.Collections; using System.Collections.Generic; using System.Linq; using System; namespace Collections { internal class Array { private static void Main(string[] args) { var monthsofYear = new List<string> { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; //casted to ICollection ICollection<string> collection = (ICollection<string>) monthsofYear; Console.WriteLine(collection.Count); Console.ReadLine(); } } }
برای لیست ها میتوانیم مستقیما تعداد را با استفاده از خاصیت count بر روی مقادیر مجاز و آرایه ها دریافت نماییم .
using System.Collections; using System.Collections.Generic; using System.Linq; using System; namespace Collections { internal class Array { private static void Main(string[] args) { var monthsofYear = new List<string> { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; //casted to ICollection ICollection<string> collection = (ICollection<string>) monthsofYear; Console.WriteLine(collection.Count); Console.ReadLine(); } } }
- C#.net
- 9k بازدید
- 7 تشکر