首先,我初始化名为myData的List<Set>
,其中存储了从NMEA文档中获取的数据。之后,我初始化我的缓冲区,它存储数据直到触发发生。
当我向myData添加一个新的Set时,所有旧的现有数据都会被覆盖,只有最新的数据和X副本留在myData中。
myData = new List<Set>();
buffer = new List<string>();
try
{
using (StreamReader sr = new StreamReader(Path.Combine(Directory.GetCurrentDirectory(), "gps-koord.txt")))
{
string s;
while ((s = sr.ReadLine()) != null)
{
if (!String.IsNullOrEmpty(s))
{
if (s[0] == '$')
{
buffer.Add(s);
if (s.Contains("GPGGA"))
{
List<string> tmp = buffer.ToList();
myData.Add(new Set(tmp));
buffer = new List<string>();
}
}
}
}
}
}
catch (Exception e)
{
Console.WriteLine(Directory.GetCurrentDirectory() + @"\" + "gps-koord.txt");
Console.WriteLine("Error, file not found");
}