我有一个小型项目,我一直在为独立学习班工作一段时间。我应该为一个基于IDW的数学分析导入140,000个数据点,目前它需要大约10〜14分钟的时间来导入我所有的点。在C中实时导入数据的最佳方法#
我在做的是读取.txt文件,基于新行分割,然后根据字段之间的空格分割未来。然后将它们转换为我设计用于简单的OOD风格操作的Datapt对象。
所有我想知道的是,我可能不得不做一个现场演示与程序,我不希望人们必须坐在那里14分钟,而它预先加载,如果推动来推我可以从朋友那里找到一台笔记本电脑(我的主要功能是dekstop),并在我的演示文稿之前将其预先加载到那里,但整个问题让我想知道为什么加载只有100k的数据文件需要这么长时间?我认为这需要更短的时间?如果有比任何人都知道的更快的方法,如果你能分享它,将不胜感激!
private void openPointsToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "Text files|*.txt|All files|*.*";
openFileDialog1.Title = "Open the Captured Packets";
openFileDialog1.ShowDialog();
//Check to see if a filename was given
if (openFileDialog1.FileName != "")
{
readOut = System.IO.File.ReadAllText(openFileDialog1.FileName);
//textBox1.Text = System.IO.File.ReadAllText(openFileDialog1.FileName);
dataChain = readOut.Split(new String[] { "\r\n", "\n" }, StringSplitOptions.None);
//Read out Code
string[] link; //dataChain[0].Split(null);
for(int i = 0; i < 100000; i++)
{
link = dataChain[i].Split(null);
textBox1.AppendText(link[0] + " " + link[1] + " " + link[2] + " "+ link[3] + "\r\n");
dataPt Temp = new dataPt(Convert.ToDouble(link[0]), Convert.ToDouble(link[1]), Convert.ToDouble(link[2]), Convert.ToDouble(link[3]));
dataList.Add(Temp);
ptDisplay.Items.Add(Temp.ToString());
}
}
}
这不是有效的代码,但ptDisplay看起来像杀手给我。不清楚它是什么,只是隐藏它,因为在代码运行时,它无论如何不会做任何有用的事情。或者完全摆脱,没有人会看十万分。 –