每个人都有什么,
我的代码中有这个问题,我无法弄清楚如何从文本文件中读取并将其放在c#中的双向数组[1024,8]的二维数组中。
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();
}
答案 0 :(得分:1)
你的代码看起来很整洁!将代码替换为
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]);