我整天都在工作,试图将文本文件中的字符串转换为双精度数组,但无法弄清楚为什么我收到错误“无法读取文件;输入字符串的格式不正确”。
我目前有一个应用程序以字符串形式读回文本文件的内容。我希望当字符串转换为双精度数组时,我可以告诉控制台打印双精度数组,它会打印最初在字符串中的文本文件的值。
这是我的代码:
double[] x = new double [3501];
这是我定义双数组的地方。我先这样做:
try
{
using (StreamReader sr = new StreamReader("test.txt"))
{
String line = sr.ReadToEnd();
string[] fields = line.Split(new char[] { ' ' });
x = new double [fields.Length];
for (int i = 0; i < fields.Length; i++)
{
x[i] = Convert.ToDouble(fields[i]);
Console.WriteLine(x[i]);
}
Line 是输入字符串,其中包含一列充满数字的列,然后被拆分。然后我告诉它打印 x[i] 的内容,但那是抛出异常的时候:
catch (Exception e)
{
// Log the exception and quit...
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
谁能弄清楚我的代码有什么问题以及为什么它不起作用?