0

現在の時刻を取得し、現在の時刻がどのタイム ブラケット (timespan 配列から) に該当するかを判断するプライベート サブルーチンを作成しました。私がテストしている 10 個のタイム ブラケットがあることを考えると、コードは反復的であり、配列の整数インデックスと結果の整数のみが各 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 ベースのコースを開始して 10 週間になります)、解決策としてこれに自信がありません。うまくいきますか? これを実装する場合に注意する必要がある弱点/問題はありますか?

4

0 に答える 0