如何从文本文件读取数组?
问题描述:
这是怎么回事大家,如何从文本文件读取数组?
我有我的代码这个问题,我无法弄清楚如何从文本文件中读取,并把它放在双类型数组[1024,8]在C#中的二维数组。
0 148.9 19.4 20.2 112.6 41.9 205.7 46.7 87.2
1 41.4 97.1 86.4 102.5 99.1 183.1 47.7 84.0
2 154.8 303.1 252.2 110.7 74.5 59.7 193.7 361.6
.
.
1023 40.8 136.8 222.1 39.5 104.9 35.3 76.0 111.4
我试图逐行读取这个文件行,但这种方式并不能帮助我
static void Main(string[] args)
{
int counter = 0;
string line;
double[] task = new double[8];
// Read the file and display it line by line.
System.IO.StreamReader file =
new System.IO.StreamReader("c:\\test.txt");
//int count = 0;
while ((line = file.ReadLine()) != null && counter <= 1023)
{
//count++;
//Console.WriteLine(count);
string[] numbers = new string[8];
int numCount = 0;
for (int i = 0; i < line.Length; i++)
{
if (line[i] != ' ')
{
numbers[numCount] = "";
while (line[i] != ' ')
{
numbers[numCount] += line[i];
i++;
}
numCount++;
}
}
for (int i = 0; i < 8; i++)
{
task[i] = Convert.ToDouble(numbers[i]);
}
counter++;
Console.WriteLine("The array contain:");
for (int i = 0; i < 8; i++)
Console.WriteLine(task[i]);
}
file.Close();
// Suspend the screen.
Console.ReadLine();
}
答
你的代码看起来整洁!从
for (int i = 0; i < line.Length; i++)
替换您的代码,并把这个
int i=0;
while (i < line.Length)
{
if (line[i] != ' ')
{
numbers[numCount] = "";
while (line[i] != ' ')
{
numbers[numCount] += line[i];
i++;
if (i >= line.Length) break;
}
numCount++;
}
i++;
}
for (int ui = 0; ui < 8; ui++)
{
task[ui] = Convert.ToDouble(numbers[ui]);
}
counter++;
Console.WriteLine("The array contain:");
for (int ui = 0; ui < 8; ui++)
Console.WriteLine(task[ui]);
+1
非常感谢您,但还有其他方式可以在二维数组中使用 – 2013-04-05 15:16:10
什么问题你面对?你试过什么了? – 2013-04-05 14:04:36
啊,你有一个代码!告诉我们你的尝试! – 2013-04-05 14:04:44
使用'TextReader.ReadLine',然后将该行的值添加到数组 – Aphelion 2013-04-05 14:04:58