说白了就是FLAG产生了变化就保存一次数据吧。用定时器,定时时间要求小于数据采样速度,在定时器中判断FLAG与上一次的FLAG不一致即执行保存数据。
if (FLAG!=OLD_FLAG)
{
//保存数据代码
OLD_FLAG = FLAG;
}
int[] t=new int[]{0,0,0,0,1,1,1,1,1,1,0,0,0,0};
if(t.Length<2)
return;
int first=t[0];
for (int i =1; i < t.Length; i++)
{
if (first != t[i])
{
Console.WriteLine(string.Format("在第{0}位保持", i));
first = t[i];
}
}
string str="1110001010111";
string save="";//保存变化后的到save中
for (int i = 0; i < str.Length - 1; i++)
{
char a=str[i];
char b=str[i+1];
if (b != a) save += b;
}
这个flag发生变化的时候应该会有一个事件被触发吧?一般来说,数据的变化总是伴随着事件的触发的,希望说清楚你的应用环境
哎,实时变化你就接进来和上一个接的值比一下不就知道该不该保存了,要是不知道怎么接你就说说你的情况。。。