从txt文件创建2D数组

dig*_*rld 3 c# string xna multidimensional-array xna-4.0

好的,所以我设法读了一个.txt文件......现在我想找到将这些信息转换成2D数组的最佳方法.

我的文本文件(前两个数字提供高度和宽度):

5
5
0,0,0,0,0
0,0,0,0,0
0,0,1,0,0
0,1,1,1,0
1,1,1,1,1
Run Code Online (Sandbox Code Playgroud)

我的C#/ XNA:

string fileContents = string.Empty;
try
{
    using (StreamReader reader = new StreamReader("Content/map.txt"))
    {
        fileContents = reader.ReadToEnd().ToString();
    }
}
catch (Exception e)
{
    Console.WriteLine(e.Message);
}
Run Code Online (Sandbox Code Playgroud)

现在我需要做的是定义二维地图数组的大小,然后填充条目值...这是我有点卡住的地方,并找到了各种方法,我可以循环数据,但我不要以为他们中的任何一个都非常整洁.

我试图做的是有一个循环按换行分割...然后另一个循环用逗号分隔符分割.

这是最好的方式......还是有更好的选择?

Hen*_*man 5

它可以用LINQ完成,但只有在你想要(接受)一个数组的数组int[][]而不是一个直的二维时才是实用的int[,].

int[][] data = 
    File.ReadLines(fileName)
    .Skip(2)
    .Select(l => l.Split(',').Select(n => int.Parse(n)).ToArray())
    .ToArray();
Run Code Online (Sandbox Code Playgroud)