【发布时间】:2020-07-08 06:04:31
【问题描述】:
就像我上面提到的,我尝试将文本文件读入 2D 字符数组。 这是我的文件:
abcde
fghij
klmno
pqrst
uvwxy
这是我的代码:
var path = @"C:text.file";
StreamReader sr = File.OpenText(path);
{
char[,] arr = new char[5, 5];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
arr[i, j] = (Char)sr.Read();
Console.WriteLine(arr[i, j] + " = {0},{1}", i,j);
}
}
Console.WriteLine(arr[2,1]);
}
}
至少是我的输出:
1 = 0,0
2 = 0,1
3 = 0,2
4 = 0,3
5 = 0,4
= 1,0
= 1,1
6 = 1,2
7 = 1,3
8 = 1,4
9 = 2,0
0 = 2,1
= 2,2
...
所以我的问题是,为什么,例如arr[1,0] 或 arr[1,1] 为空?
感谢您的帮助! sno0z3
【问题讨论】:
-
可能是因为 StreamReader.Read 还会读取每行末尾的两个换行符。 (即 \r\n)
-
有道理,你知道我该如何解决吗?
-
你如何解析整数“int x = Int32.Parse(sr.ReadLine());”当您输入“fghij”时。
-
用ReadLine整体读取一行然后使用ToCharArray字符串方法
-
正如@jdweng 指出的那样,这不能是您的输入文件,因为第一个 Int.Parse 将与该输入一起抛出,并且不清楚您如何从此处每行的第一个字符中获得 1。跨度>