Value type:
A data type is a value type if it holds a data value within its own memory space. It means variables of these data types directly contain their values.
All the value types derive from System.ValueType, which in-turn, derives from System.Object.
For example, consider integer variable
int i = 100;
The system stores 100 in the memory space allocated for the variable 'i'. The following image illustrates how 100 is stored at some hypothetical location in the memory (0x239110) for 'i':
Value types:- bool,byte,char,decimal,double,enum,float,int
Reference type:
Unlike value types, a reference type doesn't store its value directly. Instead, it stores the address where the value is being stored. In other words, a reference type contains a pointer to another memory location that holds the data.
For example, consider following string variable:
string s = "Hello World!!";
The following image shows how the system allocates the memory for the above string variable.
Referencetypes:String,All arrays, even if their elements are value types,Class,Delegates
No comments:
Post a Comment