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

时间:2015-11-01 11:31:22

标签: c#

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

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中的一个棋盘。是否有更好的代表董事会?

2 个答案:

答案 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。上的jaggedmultidimensional数组上的文章。