1 回答
TA贡献1911条经验 获得超7个赞
所以我发现了如何做到这一点:
首先我得到Dataset1的时间:
String[] File1Rows = File.ReadAllLines(secondSensor.MyFile);
int number = Convert.ToInt32(File1Rows[1].Split(';')[0]);
然后创建一个由 Dataset2 组成的字符串列表:
String[] AccelerometerRows = File.ReadAllLines(fifthSensor.MyFile);
List<string> AccelerometterTimes = new List<string>(AccelerometerRows);
然后我只取 Dataset2 中的时间并将它们放入字符串列表中
List<int> AccelerometterTimesList = new List<int>();
for (int i = 1; i < AccelerometterTimes.Count; i++)
{
var x = AccelerometerRows[i].Split(';')[0];
Console.WriteLine(x);
AccelerometterTimesList.Add(Convert.ToInt32(x));
}
使用一点 LinQ 来获得具有 O(n) 复杂度的最接近的值:
int closest = AccelerometterTimesList.Aggregate((x, y) => Math.Abs(x - number) < Math.Abs(y - number) ? x : y);
然后打印出来:
Console.WriteLine("number: "+number);
Console.WriteLine("closest "+closest);
找到这个之后,现在我们closest用来获取我们需要获取它的位置的 Dataset2 的行。然后我们占据位置,将它们放在numberDataset1 的行中。
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报