Considere la TranslateAllCoords
función estática:mutabilidad de los tipos de valor
static class CoordinateTransformation
{
public static void TranslateAllCoords(ref int x, ref int y, ref int z,
int amount)
{
x+=amount;
y+=amount;
z+=amount;
}
}
Luego, más tarde en el código, usted tiene:
int x=0, y=0, z=0;
...
CoordinateTransformation.TranslateAllCoords(ref x, ref y, ref z, 5);
...
Pero, llamando TranslateAllCoords que están en vigor los tipos de valor modificación (es decir, , los coords enteros) y generalmente los tipos de valores deben ser inmutables. ¿Se han roto algunas reglas aquí o es una construcción perfectamente válida que se mueve alrededor de la construcción de "los tipos de valores deben ser inmutables" modificando solo los tipos de valores incorporados?
Gracias por la clara explicación! –