考慮TranslateAllCoords
靜態函數:值類型的可變性
static class CoordinateTransformation
{
public static void TranslateAllCoords(ref int x, ref int y, ref int z,
int amount)
{
x+=amount;
y+=amount;
z+=amount;
}
}
然後,後來在代碼中,你有:
int x=0, y=0, z=0;
...
CoordinateTransformation.TranslateAllCoords(ref x, ref y, ref z, 5);
...
但是,通過調用TranslateAllCoords你實際上是修改的值類型(即,整數座標)並且通常值類型應該是不可變的。是否有一些規則在這裏被打破,或者這是一個完全有效的構造,通過修改僅內置的值類型來解決「值類型應該是不可變的」構造?
感謝您的明確解釋! – 2010-11-12 16:34:18