Betrachten Sie die TranslateAllCoords
statische Funktion:Veränderlichkeit von Werttypen
static class CoordinateTransformation
{
public static void TranslateAllCoords(ref int x, ref int y, ref int z,
int amount)
{
x+=amount;
y+=amount;
z+=amount;
}
}
Dann später im Code, Sie haben:
int x=0, y=0, z=0;
...
CoordinateTransformation.TranslateAllCoords(ref x, ref y, ref z, 5);
...
Aber durch TranslateAllCoords Sie sind in der Tat zu modifizieren Werttypen Aufruf (dh , die Ganzzahl coords) und allgemein Werte sollten unveränderlich sein. Sind hier einige Regeln gebrochen oder ist das ein absolut gültiges Konstrukt, das das Konstrukt "Werttypen sollten unveränderbar sein" umgeht, indem nur eingebaute Werttypen modifiziert werden?
Danke für die klare Erklärung! –