انواع مقداری و انواع مرجع

نوع یک داده مشخص می کند که چه مقدار حافظه برای ذخیره داده لازم است و همچنین داده در چه مکانی ذخیره می شود (stack یا heap).

انواع داده ها به دو دسته تقسیم می شوند : انواع مقداری و انواع مرجع.

اشیا این انواع به طور متفاوت در حافظه ذخیره می شوند.

  • انواع مقداری فقط به یک بخش ساده از حافظه نیاز دارند که داده واقعی در آن ذخیره می شود.
  • انواع مرجع به دو بخش از حافظه نیاز دارد :
      اولین بخش که خود داده واقعی در آن ذخیره می شود و همیشه heap است.
      دومین بخش اشاره به قسمتی از heap دارد که داده در آن ذخیره شده است.

ذخیره داده های مقداری و ارجاعی

  • اگر یک داده از انواع مرجع باشد قسمتی از آن در Heap و قسمتی دیگر از آن که به آدرس داده اصلی در Heap اشاره می کند در Stack ذخیره می شود.
  • اگر یک داده از نوع مقداری باشد بسته به نوع شرایط ممکن است در Heap یا Stack ذخیره شود.

جدول زیر داده ها  را با توجه به دو اصل زیر دسته بندی می کند:.

  • نوعی که این داده ها می توانند داشته باشند.
  • مقداری بودن یا ارجاعی بودن آنها
انواع مقداری انواع مرجع
انواع از پیش تعریف شده sbyte
byte
float
short
ushort
decimal
long
ulong
double
bool
char
object
string
انواع تعریف شده توسط کاربر struct

enum

class
interface
array
delegate