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 關注
- 124 瀏覽
添加回答
舉報