アプリ版:「スタンプのみでお礼する」機能のリリースについて

Visual Studio Community 2019

下記のFor文を実行すると、ループを抜けた時点で i=16となります。
その理由が知りたいです。
よろしくお願い致します。

Dim i As Integer
Dim idx() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

For i = 0 To idx.Count Or 5
Console.Write(i & " ")
Next i
Console.WriteLine()

A 回答 (1件)

(1) idx.Count Or 5 = 10 Or 5 = &HA Or &H5 =&HF = 15


だということ

(2)
For i = A To B Step S

Next

i=A
While( (S>0 AndAlso i<= B) OrElse (S<0 AndAlso i>= B))

i +=S
End While
とほぼ同等だということ。

つまり、ループを抜けた後では
・i=A の時点で条件を満していないのなら、 i=A になっている。
・1回でもループ内を実行しているなら、(直前の) i -S は条件を満し、 i は条件を満さない、という値になっている。




ところで、 idx.Count Or 5 の Or 5 って、何か意図があるのですか?
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。
&HA Or &H5 =&HF = 15となるのですね!
具体的な回答で、スッキリしました!
それと、Or 5 の部分は、TO条件に論理演算子が入るのかな?という単なる探究心です(^_^;

お礼日時:2023/01/08 20:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!