【发布时间】:2019-05-31 00:43:15
【问题描述】:
我正在创建一个需要测量用户查看对象时间的 UWP 应用程序。这个应用程序有大约 300 个对象来测量时间。为此,我们将使用大约 300 个计时器。为了实现这一点,我们将不得不单独创建 300 个秒表,这是非常低效的。
计时器在用户正在查看相应对象时启动,并在用户不再查看相应对象时停止。如果用户的目光再次注视在相应的对象上,当然计时器会再次启动。最后,秒表的所有时间都将保存到一个文件中。创建 300 个秒表需要为每个秒表编写一行新代码,这看起来效率不高。我试图通过使用 Enumerable.range 来自动化秒表创建过程,但到目前为止我还没有找到解决方案。
/// <summary>
/// All stopwatches for every word. In our real code we will have around 300 stopwatches.
/// </summary>
Stopwatch Stopwatch1 = new Stopwatch();
Stopwatch Stopwatch2 = new Stopwatch();
Stopwatch Stopwatch3 = new Stopwatch();
Stopwatch Stopwatch4 = new Stopwatch();
Stopwatch Stopwatch5 = new Stopwatch();
Stopwatch Stopwatch6 = new Stopwatch();
Stopwatch Stopwatch7 = new Stopwatch();
Stopwatch Stopwatch8 = new Stopwatch();
Stopwatch Stopwatch9 = new Stopwatch();
Stopwatch Stopwatch10 = new Stopwatch();
【问题讨论】:
-
为什么不创建一个
List<Stopwatch>,然后使用循环来初始化所需的秒表数量? -
您只需要 1 个秒表和一个存储对象之前被查看的时间量的地方。然后在再次查看时增加它。
-
@Esko - 如果不能同时有多个锁