.NET Framework Definición de Struct


Ejemplo

Las estructuras heredan de System.ValueType, son tipos de valor y viven en la pila. Cuando los tipos de valor se pasan como un parámetro, se pasan por valor.

Struct MyStruct
{
    public int x;
    public int y;
}

Pasado por valor significa que el valor del parámetro se copia para el método, y cualquier cambio realizado en el parámetro en el método no se refleja fuera del método. Por ejemplo, considere el siguiente código, que llama a un método llamado AddNumbers , que pasa las variables a y b , que son de tipo int , que es un tipo de valor.

int a = 5;
int b = 6;

AddNumbers(a,b);

public AddNumbers(int x, int y)
{
    int z = x + y; // z becomes 11
    x = x + 5; // now we changed x to be 10
    z = x + y; // now z becomes 16
} 

A pesar de que hemos añadido a 5 x dentro del método, el valor de a se mantiene sin cambios, porque es un tipo de valor, y eso significa que x era una copia de a 'valor de s, pero en realidad no a .

Recuerde, los tipos de valor viven en la pila y se pasan por valor.