更新 我尝试了Crazy的解决方案,但现在我在foreach循环中显示数据时遇到问题:
foreach(double data in ztr.GetCurveDataForTestType())
{
richTextBox1.AppendText("Voltage" + data + " --------- ");
richTextBox1.AppendText("Current" + data + "\r\n");
}
该代码打印出如下内容:
Voltage-0.175 --------- Current-0.175
Voltage-9.930625E-06 --------- Current-9.930625E-06
Voltage-0.171875 --------- Current-0.171875
Voltage-9.53375E-06 --------- Current-9.53375E-06
Voltage-0.16875 --------- Current-0.16875
我该如何解决?
大家好,
我有一个xml文件,其中包含曲线的电压和当前值。我想绘制这条曲线,以便在笛卡尔坐标系中,电压为X,电流为Y.
我可以像下面的代码一样轻松地从XML文件中获取电压和电流值。但我想知道如何在一个很好的干净数组中返回这个值,以后我可以轻松使用。
这是我的代码:
public double[,] GetCurveDataForTestType()
{
List<double> voltage = new List<double>();
List<double> current = new List<double>();
XPathNodeIterator volt = nav.Select("some XPATH");
XPathNodeIterator curr = nav.Select("some XPATH");
foreach (XPathNavigator value in volt)
{
voltage.Add(Convert.ToDouble(value.Value));
}
foreach (XPathNavigator value in curr)
{
current.Add(Convert.ToDouble(value.Value));
}
return null; //How should I reurn a nice array to use for drawing a curve(Voltage as X and current as Y)
}
答案 0 :(得分:2)
这个怎么样......
double[,] data = new double[voltage.Count(), 2];
for (int i = 0; i < voltage.Count(); i++)
{
data[i, 0] = voltage[i];
data[i, 1] = current[i];
}
答案 1 :(得分:0)
它必须是一个真正的数组吗? .Union()可以给你一个列表。如果你真的想要,你可以用.Union.ToArray()将它们投射到数组中。
答案 2 :(得分:0)
List基本上是数组,你可以通过index []访问它,所以为什么不使用Lest。你也可以省去自己铸造它的麻烦。
答案 3 :(得分:0)
要修复foreach循环,只需添加索引器
foreach(double data in ztr.GetCurveDataForTestType())
{
richTextBox1.AppendText("Voltage" + data[0] + " --------- ");
richTextBox1.AppendText("Current" + data[1] + "\r\n");
}