• 1401/06/11

تفاوت List و ICollection :

با سلام.

سوالی داشتم این که برای چی در جلسه‌ی ۲۰ استاد به جای List از ICollection و IEnumerable استفاده کردن؟

یعنی چه تفاوتی داره?

با تشکر از پاسخگوییتون

  • 1401/06/11
  • ساعت 11:54

سلام دوست من وقتتون بخیر

دوست من این لینک رو بررسی کنید لطفا


  • 1401/06/12
  • ساعت 23:04

رفیق تمامی لیست های هوشمند. لیست هوشمند یعنی هر لیستی که جلوش <> داشته باشه یک لیست هوشمنده که داخل <> نوع داده میگیره که اینترفیس والد یا اینترفیس پدر همه لیست های هوشمند یک اینترفیس بنام IEnumerable هست یعنی اینترفیس والد خود IColecction  هم IEnumerable  هست که  و  اگر شما مفهوم چند ریختی رو بدونید میدونید میدونید که کلاس والد می‌تونه به کلاس فرزند تغییر رفتار بده خب با این حرفا یعنی IEnumerable بزرگترین لیست هوشمند هست شما وقتی از IEnumerable استفاده می‌کنی دوتا معنی داره یا نمیدونی لیستت قراره از کدوم نوع لیست هوشمند باشه یا میخوای از خطاهای احتمالی آینده سره همین نوع لیست هوشمند که نمیدونی چیه جلوگیری کنی . ببین در نهایت وقتی شما از IENUMERABLE  استفاده می‌کنی خود IENUMERABLE تغییر قیافه میده به نوع لیست هوشمندی که بعد از پردازش و شکل گرفتن نوع لیستت ساخته میشه، حالا اگر مطمئنی که نه فقط من یه لیست از یه نوع دیتا تایپ خاص می‌خوام میتونی از همون لیست استفاده کنی، اما اگر نه مطمین نیستی و حالا شاید یه درصد یروزی خروجی کارت بجای لیست بشه Iqeryable یا هر نوع دیگه از لیست هوشمند  اونجا دیگه به خطا میخوری که کم هم پیش نمیاد این باگ و شاید کلی ساعت درگیر رفع این باگ کوچیک بشی پس بهتره اینجور مواقع از IENUMERABLE  استفاده چون دقیقا همین‌جا تغییر قیافه میده به Iqeryable و یا هر نوع لیست دیگه ای که باشه و از یه باگ در رفتی 

حالا اگر چندریختی یا همون پولیمورفیسم نمیدونی چیه بگو که بهت یه لینک یوتوب بدم اگرم که نه انگلیسی ت خوب نیست بگو همینجا برات با یه مثال توضیح بدم اما کلا

استفادش همینه خودتو خیلی درگیرش نکن امید وارم تونسته باشم کمکت کنم 


logo-enamadlogo-samandehi