Thursday, 29 September 2016

Value Type & Reference Type


Value Type & Reference Type

Application memory is mainly divided into two memory component . Heap and Stack .
Heap is a separate area of memory for holding reusable objects .Actual object is allocated in Heap .A variable containing pointer to an object is allocated on stack , when call by stack actually return the memory address of the objects.

Value Type : Int/Bool/Struct /Enum
Reference Type :Class/array/interface/delegate

Value Type
  • Value Type  are stored on stack
  • Value Type  contains actual value
  • Value Type  cannot contain null values.
  • Value type is popped on its own from stack when they go out of scope.
  • For Value Type  Memory is allocated at compile time

Reference Type
  • Reference Type  are stored on heap
  • Reference Type contains reference to a value
  • Reference Type  can contain null values.
  • Reference Type required garbage collector to free memory.
  • Reference Type memory is allocated at run time
Stack
  • very fast access
  • local variables only
  • variables cannot be resized
  • It is a Last-in, First-out (LIFO) data structure
  • Static memory allocation

Heap

  • No limit on memory size
  • Variables can be resized
  • Fist in First Out
  • Dynamic memory allocation

Example of Stack
 
 int a=100;
 string ="C# program”;
  int a=5+6;

Exaple of Heap 

class MyClass
{
    int myInt = 0;
    string myString = "Something";
}

class Program
{
    static void Main(string[] args)
    {
       MyClass m = new MyClass();
    }
}

No comments:

Post a Comment

বাঙালির বেড়ানো সেরা চারটি ঠিকানা

  বাঙালি মানে ঘোড়া পাগল | দু একদিন ছুটি পেলো মানে বাঙালি চলল ঘুরতে | সে সমুদ্রই হোক , পাহাড়ি হোক বা নদী হোক। বাঙালির ...