如何使用for循环生成多个列表

本文关键字:列表 何使用 for 循环 | 更新日期: 2023-09-27 18:20:01

我想使用某种循环生成几个列表这是我到目前为止想到的,但它不起作用

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中的一块木板。有没有更好的方式来代表董事会?

如何使用for循环生成多个列表

我认为数组更适合你的问题,因为数组和你的电路板一样,有固定的长度。列表用于动态大小的集合。

你可以使用像这样的二维阵列

int[,] board = new int[width,height];

那么访问一个单元格就很容易了。例如,左上角为:

int value = board[0,0];

右下角为:

int value = board[width - 1, height - 1];

您可以使用数组数组来表示板,因为当尝试访问高于界限的索引时,它会抛出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上有关锯齿状数组和多维数组的文章。