【发布时间】:2018-04-07 09:50:04
【问题描述】:
当我仍在使用 double.parse 或 int.parse 分别代替 ConvertToDouble 和 ConvertToInt32 时,我遇到了错误。
代码如下:
ArrayList Webpages = new ArrayList();
String FileName = "Medium.txt";
StreamReader newSR = new StreamReader(FileName);
while (!newSR.EndOfStream)
{
string[] data = (newSR.ReadLine()).Split(',');
Webpage newEntry = new Webpage();
newEntry.size = Convert.ToDouble(data[0]);
newEntry.visitCount = Convert.ToInt32(data[1]);
newEntry.name = data[2];
Webpages.Add(newEntry);
}
还有文本文件:
5.26,46,WebPage1
7.44,76,WebPage2
8.35,42,WebPage3
46.2,9,WebPage4
12.44,124,WebPage5
10.88,99,WebPage6
10.66,984,WebPage7
这是我的错误信息:
“System.FormatException”类型的未处理异常发生在 mscorlib.dll
附加信息:输入字符串的格式不正确。
我收到以下错误消息:newEntry.size = Convert.ToDouble(data[0])
【问题讨论】:
-
你有没有调试过
data[0]失败时的值? (我想知道您是否正在读取文件末尾的空白行。)您是否可能处于小数分隔符为,而不是.的文化中? -
试过你的代码,除了我没有使用你的网页 newentry 对象外,它的工作原理,它是什么??
标签: c# streamreader formatexception