جان اسکییت در وبلاگ خود به بررسی الگوهای استفاده از مجموعههای غیرقابلتغییر در C# پرداخته است. او توضیح میدهد که انواع ImmutableList و ImmutableDictionary در مقایسه با ImmutableArray و FrozenDictionary برای الگوهای استفادهای که در آنها مجموعهها از ابتدا ایجاد و سپس بدون تغییر استفاده میشوند، کارایی کمتری دارند. اسکییت تجربه خود را در مهاجرت از ImmutableDictionary به FrozenDictionary و از ImmutableList به ImmutableArray شرح میدهد. مهاجرت به FrozenDictionary بسیار ساده بود، در حالی که مهاجرت به ImmutableArray نیازمند تغییرات بیشتری به دلیل نوع مقداری (value type) بودن آن و وجود ویژگی Length بود. این تغییرات شامل تغییر در نامگذاری متدها و اضافه کردن overload برای متدهای ElementsEqual به دلیل تفاوت در نحوه مدیریت nullability بود.
مشاهده مطلب اصلی