逐行读取文本文件以在XNA中创建地图

时间:2012-09-08 08:54:52

标签: c# xna-4.0

我想阅读一个文本文件以构建地图。

例如我有这张地图:

0@0000000
0@0000000
0@0000000
000000000
000000000
000000000
000000000

我知道我应该用这个:

StreamReader reader = new StreamReader(Application.StartupPath+@"/TestMap.MMAP");
string line = reader.ReadToEnd();
reader.Close();

现在,例如,我想要读取第2行字符“@”。我怎么能这样做?

请帮帮我。


解决:

谢谢(@ L.B AND @ user861114),最后我的问题解决了:

string[,] item = new string[9, 7];
string[] line = File.ReadAllLines(Application.StartupPath + @"/TestMap.MMAP");
for (int j = 0; j < 7; j++)
{
    for (int i = 0; i < 9; i++)
    {
        item[i, j] = line[j].Substring(i, 1);
        Console.WriteLine(i + " " + j + "=" + item[i, j]);
    }
}

2 个答案:

答案 0 :(得分:1)

我认为这有点容易:

string[] strs = string.split(myString, "\n"); // split to array of string by delimiter     endline
char[] chars = strs[1].ToCharArray(); // you can get second char "@"

答案 1 :(得分:1)

string[] lines = File.ReadAllLines(your path);

然后你可以访问

char ch = lines[1][1]; //second line's second char