IEnumerable و ICollection در سی شارپ

چهارشنبه 3 تیر 1394

در این مقاله شما با IEnumerable و ICollection در سی شارپ و نحوه بکار گیری آنها آشنا خواهید شد .همچنین برای درک بهتر مطلب نیز یک مثال ایجاد کرده ایم.

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();    
            }    
        
        }    
        
    }   

آموزش سی شارپ

فایل های ضمیمه

احسان حسینی

نویسنده 42 مقاله در برنامه نویسان
  • C#.net
  • 9k بازدید
  • 7 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید