C# 如何在C语言中从计时器中获取实际值#
在C#控制台应用程序中创建计时器时,我遇到了一个问题,它不仅显示所经过的时间,而且还返回该时间的值。我需要它来计算移动传感器的速度,我得到的帧并转换成它移动的实际距离。不幸的是,我不能用System.Threading中的timer实现这一点,因为它返回voidC# 如何在C语言中从计时器中获取实际值#,c#,timer,console-application,C#,Timer,Console Application,在C#控制台应用程序中创建计时器时,我遇到了一个问题,它不仅显示所经过的时间,而且还返回该时间的值。我需要它来计算移动传感器的速度,我得到的帧并转换成它移动的实际距离。不幸的是,我不能用System.Threading中的timer实现这一点,因为它返回void 是否有可能这样做,或者我应该使用秒表获取传感器每次应答之间的时间值,然后将时间值作为当前间隔的总和返回?使用秒表。定时器设计用于每隔一段时间触发事件。另一个问题是,每个间隔分配的任务的持续时间可能超过间隔本身,这将导致计时器间隔在连续调
是否有可能这样做,或者我应该使用秒表获取传感器每次应答之间的时间值,然后将时间值作为当前间隔的总和返回?使用秒表。定时器设计用于每隔一段时间触发事件。另一个问题是,每个间隔分配的任务的持续时间可能超过间隔本身,这将导致计时器间隔在连续调用之间变化 秒表将提供一个相对高分辨率的计时器,可以用来测量经过的时间,只要你需要它,与更高的精度比计时器 您可以使用秒表计算速度,代码如下:
Stopwatch watch = new Stopwatch();
watch.Start();
// your code here
double distanceInMeters = GetDistanceFromSensor();
double velocity = distanceInMeters / (watch.ElapsedMilliseconds / 1000.0);