我现在正在XNA做一个小游戏。
我想根据屏幕分辨率确定数组的大小。
我是这样做的:
public const int intBoardheight = (GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height -150) / 10 ;
public const int intBoardwidth = (GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width - 200) / 10;
public bool[,] GameBoard = new bool[intBoardheight,intBoardwidth];
public bool[,] GameBoardUpdate = new bool[intBoardheight, intBoardwidth];
public int[,] GameBoardInt = new int[intBoardheight, intBoardwidth];
但是这给了我错误“分配给'Game_Of_Life_2.Game1.intBoardheight'的表达式必须是常量”。
那么,我如何在变量上建立常量?
提前致谢!
西蒙。
编辑: 多谢你们!工作得很好!
答案 0 :(得分:4)
你做不到。将其设为public static readonly int
答案 1 :(得分:1)
您不能创建常量,但可以将其设为只读
public readonly int intBoardheight = ...
readonly
变量只能在声明或构造函数中指定。之后就无法改变。
答案 2 :(得分:1)
因为它是可变的 - 基于运行应用程序时的当前分辨率 - 你不能使它成为编译时常量,但你可以使它成为readonly
。