تفاوت بین IQueryable, ICollection, IList & IDictionary interface
بسم الله الرحمن الرحیم
همه ی این ها از interfaces ایی با نام IEnumerable ارث بری می کنند و هر یک متدها و ساختار متفاوتی دارند که وابسته به نوع کاربردشان باید مورد استفاده قرار بگیرند.
ICollection
این یکی از interfaces های اصلی در خصوص IEnumerable ها می باشد که قابلیت های شمارش (Count) و پارامترهای مربوطه را در اختیار شما قرار می دهد.
IList
تمامی ویژگی های ICollection را دارد و علاوه بر آن قابلیت پشتیبانی از متدهای add و remove کردن item ها و دسترسی به آنها از طریق index را نیز داراست. این نوع بیشتر برای کار با لیستی از اشیاء مورد استفاده قرار می گیرد.
بسم الله الرحمن الرحیم
همه ی این ها از interfaces ایی با نام IEnumerable ارث بری می کنند و هر یک متدها و ساختار متفاوتی دارند که وابسته به نوع کاربردشان باید مورد استفاده قرار بگیرند.
ICollection
این یکی از interfaces های اصلی در خصوص IEnumerable ها می باشد که قابلیت های شمارش (Count) و پارامترهای مربوطه را در اختیار شما قرار می دهد.
IList
تمامی ویژگی های ICollection را دارد و علاوه بر آن قابلیت پشتیبانی از متدهای add و remove کردن item ها و دسترسی به آنها از طریق index را نیز داراست. این نوع بیشتر برای کار با لیستی از اشیاء مورد استفاده قرار می گیرد.
IQueryable
همانطور که از نام این interface مشخص است یکی از interface هست که از IEnumerable ارث بری کرده و شما می توانید دستورات LINQ خود را به سادگی بر روی آن اجرا کنید.
IDictionary
این نوع interface با بقیه موارد گفته شده یک تفاوت اساسی دارد و آن این موضوع می باشد که در این interface هر عنصر دارای یک کلید اصلی و یک مقدار است و کاربرد های خاص خود را خواهد داشت.