TLDR: بیایید به تفصیل متداول ترین اشتباه در رابطه با IEnumerable – شمارش مکرر – را بررسی کنیم اما این بار کمی عمیق تر خواهیم شد و بررسی خواهیم کرد که چرا شمارش مکرر یک اشتباه است و چه مشکلات پتانسیل ای ممکن است ایجاد کند ، از جمله دشوار و اشکالات را بازتولید کنید.
IENUMEBLE چیست
اولین چیزها – بیایید بررسی کنیم (با این حال ، دوباره ، همانطور که مقالات زیادی در این مورد وجود دارد) چه Ienumerable ، چه عمومی و چه غیر ژنتیکی ، است. بسیاری از توسعه دهندگان ، همانطور که بسیاری از مصاحبه ها و بررسی های کد نشان می دهند ، ناخواسته نمونه های IEnumerable را به عنوان مجموعه ها مشاهده می کنند ، و این همان جایی است که ما شروع خواهیم کرد.
وقتی به تعریف رابط IEnumerable نگاه می کنیم ، در اینجا همان چیزی است که ما می بینیم:
public interface IEnumerable : IEnumerable {
IEnumerator GetEnumerator();
}
ما به جزئیات شمارشگران و غیره نمی پردازیم. کافی است یک چیز بسیار مهم را بیان کنیم: ienumerable است نه یک مجموعه اکثر انواع مجموعه Ienumerable را پیاده سازی می کنند ، اما این همه پیاده سازی های IEnumerable را به مجموعه ها تبدیل نمی کند. با کمال تعجب ، این همان چیزی است که بسیاری از توسعه دهندگان هنگام اجرای کد مصرف یا تولید IEnumerable از دست می دهند ، و این همان چیزی است که پتانسیل خوبی برای مشکلات دارد.
بنابراین ، چه iEnumerable است؟ پیاده سازی های مختلفی برای iEnumerable وجود دارد ، اما برای …