【发布时间】:2014-10-19 21:16:07
【问题描述】:
我有一个文件,它的每一行都包含一个来自 {-1, 0, 1, 2, 3} 的值。它看起来像这样:
我想将所有这些值放在一个 int 类型的数组中,如下所示:
int[] linesValue = new int[NUMBER_OF_LINES];
int i;
for (i = 0; i < NUMBER_OF_LINES; i++)
{
string tmpVal = reader.ReadLine();
linesValue[i] = Convert.ToInt32(tmpVal);
}
“NUMBER_OF_LINES”是私有 int,“reader”是 StreamReader。 当我运行代码时,它给了我错误:“输入字符串的格式不正确” 我试过 reader.ReadLine().ToString() 但它仍然不起作用。 如果你们能帮我解决这个问题,我将不胜感激。
【问题讨论】:
-
可能您正在尝试转换,包括折线。
-
我猜你在阅读最后一行时会遇到异常,因为它是空的:)
-
感谢您的快速答复。 -Gandarez 我应该如何继续忽略断线? -Sriram 不应该只返回 null 吗?
-
@tudor07:与所有调试情况一样,您应该严格执行:通过首先确认换行符是问题。您可以通过在调试器中检查
tmpVal并查看其内容来轻松完成此操作。 -
1. Notepad++ 中的 Ctrl+S 以确保您想要的和当前的文件内容同步(以防万一) 2. 您确定您的文件包含正好 NUMBER_OF_LINES 个整数吗?如果不是(可能是)会发生什么?
标签: c# parsing io integer readline