Usamos struct en C# siempre que sea posible, principalmente porque se almacena en la pila y no se crean objetos para ella. Esto aumenta el rendimiento.Si una matriz se usa como un elemento en struct (C#), ¿dónde está almacenada?
Por otro lado, los arrays se almacenan en el montón.
Mi pregunta es, si incluyo una matriz como un elemento de la estructura, algo de la siguiente manera:
struct MotionVector
{
int[] a;
int b;
}
Entonces lo que serán las consecuencias. ¿Se almacenará esa matriz en la pila? ¿O la ventaja de rendimiento de usar struct se perderá?
http://stackoverflow.com/questions/3942721/c-structs-versus-classes –
¿Tiene problemas reales de rendimiento? Consulte http://blogs.msdn.com/b/ericlippert/archive/2009/04/27/the-stack-is-an-implementation-detail.aspx – ken2k
http://stackoverflow.com/a/1114152/55209 - Una excelente explicación –