如果可能的话,有人可以告诉我。我正在查看 Microsoft 在 GameState 上为其 XNA 框架提供的代码示例。在其中一个类中,他们使用“Public ReadOnly”数组数据成员。虽然不是一种促进 OO 的做法,但这并没有错。
该类稍后在构造函数中实例化它,到目前为止一切都很好,它也记录在 MSDN 上。
问题:该类稍后在类方法中遍历数组并更改数组中的数据。我查看了 MSDN 并在其上进行了 Google 搜索,并且在我所看到的任何地方都说完全会出错。只读数组有特殊例外吗?
请指教。
public class InputState
{
public readonly KeyboardState[] CurrentKeyboardStates;
public readonly KeyboardState[] LastKeyboardStates;
public InputState()
{
CurrentKeyboardStates = new KeyboardState[max];
LastKeyboardStates = new KeyboardState[max];
}
//Does not make sense code...
public void Update()
{
for (int i=0; i < max; ++i)
{
//this should throw errors...
CurrentKeyboardStates[i] = LastKeyboardStates[i];
LastKeyboardStates[i] = Keyboard.GetState();
//more code....
}
}
}