我想使用某种循环生成几个列表 这是我到目前为止所提出的,但它不起作用
class Program
{
static void Main(string[] args)
{
//board
int boardwith = 2;
int boardheight = 2;
for (int i = 0; i < boardheight; i++)
{
List<int> i = new List<int>();
}
}
}
我将使用这些列表代表Game o Life中的一个棋盘。是否有更好的代表董事会?
答案 0 :(得分:2)
我认为数组更适合您的问题,因为数组与您的主板一样,具有固定长度。列表适用于动态大小的集合。
您可以使用像这样的二维数组
int[,] board = new int[width,height];
访问一个单元格非常简单。例如,左上角将是:
int value = board[0,0];
和右下角将是:
int value = board[width - 1, height - 1];
答案 1 :(得分:0)
您可以使用数组数组来表示一个板,因为它会在尝试访问高于边界的索引时抛出IndexOutOfRange
个异常:
int boardHeight = 8;
int boardWidth = 8;
int[][] board = Enumerable.Range(0, boardHeight).Select(n => new int[boardWidth]).ToArray();
获取字段使用索引的值,例如int value = board[2][2];
正如另一个答案所说,可能更好的选择是使用多维数组:
int[,] board = new int[boardWidth, boardHeight];
检查msdn。上的jagged和multidimensional数组上的文章。