[C#] Structs vs Classes

Stack

  • Crece o se contrae mientras las funciones o métodos insertan y expulsan variables locales.
  • No hay necesidad de gestionar la memoria personalmente, las variables se asignan y liberan automáticamente.
  • Tiene límites de tamaño y las variables no se pueden redimencionar.
  • Las variables sólo existen mientras la función que los creó, está en marcha.

Heap

  • Se necesitan de punteros para acceder a la memoria.
  • La memoria no es gestionada automáticamente, pueden ocurrir las famosos memory leaks.
  • No tiene límites de tamaño.
  • Las variables son esencialmente globales.

Value types & Reference types

  • Los tipos de valor son tipos que mantienen los datos y la memoria en la misma ubicación
  • Un tipo de referencia tiene un puntero que apunta a la ubicación de memoria.

CodePlex

Código fuente disponible en: CSharp -> StructVSClass

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *