Nima Airyana
Nima Airyana
خواندن ۱ دقیقه·۴ سال پیش

استراک تایپ ها در سی شارپ

خب اول از همه مهمترین نکته که همه میدونیم یا باید بدونیم اینه که استراک ها ولیو تایپ هستن

البته بر خلاف کلاس ها

خب چرا این نکته مهمه؟

میتونم بگم اصلی ترین دلیلش اینه که مستقیم داخل استک ذخیره سازی میشن و حالت ارجاع (رفرنس) ندارن که این خودش میتونه باعث افزایش چندین برابری شما در پرفرمنستون باشه ، منابع کمتری استفاده بشه و این که ولیو تایپ ها قابل تغییر (mutable) هستن ، این ها عمده دلایل بسیار مهم استفاده از استراک ها هستن که باید حتما بهشون توجه کرد



محدویت ها در استراکچر ها نسبت به کلاس ها

  • ما نمیتونیم یه سازنده بدون پارامتر داخل استراک داشته باشیم ، هر استراکچری یه دیفالت کاستراکتور داره که بدون پارامتر هست
  • ما نمیتونیم فیلد ها یا پراپرتی هامون رو مقدار دهی اولیه کنیم ، البته میشه فیلد ها یا پراپرتی های استاتیک یا کانست رو مقدار دهی اولیه کرد (اینیشیالایز کرد)
  • یه سازنده داخل استراک تایپ باید تمامی فیلد ها رو مقدار دهی کنه
  • نمیتونیم استراکچر ها رو از کلاس یا استراکچر دیگه ای ارث بری کنیم ، البته میشه از اینترفیس ارث بری کرد
  • و در آخر نمیشه فاینالایزر (finalizer) داخل استراک تایپ لحاظ کرد
بر اساس داکیومنت اصلی خود وبسایت مایکروسافت
بر اساس داکیومنت اصلی خود وبسایت مایکروسافت


cstructstructure
شاید از این پست‌ها خوشتان بیاید