Я понял, как хранить Данные из .csv в список‹>.
У меня есть два списка: ListA
, который содержит метку времени для каждого значения, и ListB
, который содержит значения.
Это выглядит так:
A (time [ms]) | B (value)
---------------------------
0,00 | 49,33
154,71 | 49,46
244,92 | 49,72
855,11 | 49,64
...
And so on (over 50.000 values)
Настоящая проблема заключается в следующем: я хочу отправить значения на консоль с помощью WriteLine(listA[i]);
в (почти) точное время, такое как временная метка фактического значения.
Я подумал о секундомере, который я сравниваю с отметками времени, чтобы выдать правильное значение в нужный момент?
Это возможно?
Обновление №1:
Вот мой код. Это работает (вроде). Но я не уверен, что есть гораздо лучшее решение?
stopwatch.Start();
while(true)
{
for (int i = 0; i < 50000; i++)
{
if (Math.Abs(stopwatch.Elapsed.TotalMilliseconds - Convert.ToDouble(listA[i]) * 1000) < 10)
{
Console.WriteLine(listB[i]);
}
}
Thread.Sleep(5);
}
Обновление №2:
Я пытаюсь понять решение Mong Zhu @disclaimer. Моя цель - создать метод, который инициируется таймером (например, каждые 100 мс). У меня уже есть код вокруг этой проблемы: временная метка и секундомер иногда не синхронизируются и пропускают некоторые значения.
Вот мой метод (вызывается каждые 100 мс):
public double getvalue()
{
if (stopwatch.ElapsedMilliseconds > Convert.ToDouble(ListA[ListA.Count-1])*1000)
{
stopwatch.Stop();
}
else
{
for (var i = 0; i < ListA.Count; i++)
{
if (Math.Abs(stopwatch.ElapsedMilliseconds - Convert.ToDouble(ListA[i]) * 1000) < 5)
{
value = Convert.ToDouble(ListB[i]);
break;
}
}
}
return value;
}
855,11
миллисекунды может быть труднодостижимо. Но, к сожалению, это не служба написания кода. Пожалуйста, предоставьте код, который вы написали, который хотя бы пытается решить проблему. Опишите, где именно вы застряли, и мы сможем вам помочь. До сих пор вопрос слишком широк и может быть закрыт по этой причине. - person Mong Zhu   schedule 22.01.2018for
иwhile
. Вы также можете использоватьTimer
. Дайте мне минуту, тогда я напишу ответ - person Mong Zhu   schedule 23.01.2018List A (time in sec)
- person Mong Zhu   schedule 23.01.2018