0

我编写了一个私有子程序,它获取当前时间并计算出当前时间属于哪个时间范围(来自时间跨度数组)。鉴于我正在测试十个时间括号,代码是重复的,只有数组的整数索引和每个 if 语句之间的结果整数发生变化。

If DateTime.Now.TimeOfDay >= tmeToday(0) AndAlso DateTime.Now.TimeOfDay <= tmeToday(1) Then
    intPeriodFrid = 0 'ext morning; 8am - 9am
    intNextBell = 1
ElseIf DateTime.Now.TimeOfDay >= tmeToday(1) AndAlso DateTime.Now.TimeOfDay <= tmeToday(2) Then
    intPeriodFrid = 1 'morning break; 9am - 9:05am
    intNextBell = 2

......以后重复的荒谬数量

ElseIf DateTime.Now.TimeOfDay >= tmeToday(10) AndAlso DateTime.Now.TimeOfDay <= tmeToday(11) Then
    intPeriodFrid = 10 'ext afternoon; 3:10pm - 4:10pm
    intNextBell = 11
End If

然后它击中了我,我可能可以这样做:

For value As Integer = 0 To 10
    If DateTime.Now.TimeOfDay >= tmeToday(value) AndAlso DateTime.Now.TimeOfDay <= tmeToday(value + 1) Then
        intPeriodFrid = value
        intNextBell = (value + 1)
        Exit For
    End If
Next

这将/将是我第一次使用循环(我在基于 VB.NET 的课程中​​学习了十周),所以我对这个作为解决方案缺乏信心,它会起作用吗?如果我实施这个,我需要注意什么弱点/问题?

4

0 回答 0