如何将计时器生成的数据保存到列表中。 [英] How would I save data generated from timer to list.

查看:138
本文介绍了如何将计时器生成的数据保存到列表中。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

float mag = ComputeDistance(Counter - 1,Counter - 2);



richTextBox2.Text + =\ n物体与Radar的距离=+ mag .ToString()+\ tObject Degree in Degree =+ ObjectAngle;



i想在列表中保存mag和ObjectAngle以便我可以使用它随时随地。

以上数据是每2秒使用一次计时器生成的。



我尝试过:



float mag = ComputeDistance(Counter - 1, Counter - 2);

richTextBox2.Text += "\n Object Distance from Radar=" + mag.ToString()+"\tObject Location in Degree=" +ObjectAngle;

i want to save "mag" and "ObjectAngle" in List so that i can use it whenever i want.
Above data is generating using timer every 2 second.

What I have tried:

List<dataanalyse> ObjectData = new List<dataanalyse>();     
struct DataAnalyse
         {
             public float Avgmag;
             public float AvgmagAngle; 

         }       

         
Public saveData()
{
DataAnalyse da=new DataAnalyse()
da.Avgmag=mag;
da.AvgmagAngle=ObjectAngle;
}

推荐答案

尝试稍微更改saveData:

Try just changing saveData slightly:
public saveData(float mag, float objAngle)
    {
    DataAnalyse da=new DataAnalyse();
    da.Avgmag=mag;
    da.AvgmagAngle=objAngle;
    ObjectData.Add(da);
    }



您还需要在ObjectData声明中正确获取案例 - C#区分大小写,因此dataanalyse与DataAnalyse


You'll need to get the cases right on the ObjectData declaration as well - C# is case sensitive, so "dataanalyse" is not the same as "DataAnalyse"


据我所知,您的计时器将连续记录数据,您需要保留最后n个数据。

在这种情况下,列表效率不高,因为你不断添加新数据并删除最旧的数据。有一种称为循环缓冲区或FIFO缓冲区的结构更有效。



FIFO(计算和电子) - 维基百科,免费的百科全书 [ ^ ]

FIFO缓冲器实现 [ ^ ]
As I understand it, your timer will continuously record data, and you need to keep the last n data.
In this case, a list is not efficient, bacause you continuously add a new data and remove the oldest. There is a structure called "circular buffer" or "FIFO buffer" that more efficient.

FIFO (computing and electronics) - Wikipedia, the free encyclopedia[^]
A FIFO Buffer Implementation[^]


这篇关于如何将计时器生成的数据保存到列表中。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆