What are the differences between a Stack memory and a Heap memory?
  • Stack memory is an array of memory, where the data is stored and removed (when no longer in use) in a Last-In-First-Out (LIFO) model.
  • Value Types (bool, byte, char, decimal, double, enum, float, int, long, sbyte, short, struct, uint, ulong, ushort) are stored in Stack memory.
  • Method calls are generally executed over a Stack and all the variables (of Value Types) are allocated inside the Stack. Once the control goes out of the Method, all the variable memory allocations are removed from the Top in LIFO order.
  • The values are stored and accessed directly, and is significantly faster than a Heap.
  • Heap memory is an area inside the memory, where the data is stored in the form of chunks of spaces.
  • Data can be stored and removed in any order, but the access is significantly slower.
  • Reference Types such as Strings, Lists, Collections and Class objects are stored in Heap memory
  • The contents of Heap Memory are managed by the Garbage Collector.

C# Concepts •  Added 24 days ago

Join the Newsletter

Subscribe to get our latest content by email.
    We won't send you spam. Unsubscribe at any time.
    We use cookies to provide you with a great user experience, analyze traffic and serve targeted promotions.   Learn More   Accept