Continueステートメント

コレクションの値が"d"ならば処理をしない

        Dim Data As String() = {"a", "s", "d", "f", "g"}
        Dim Str As String = String.Empty

        For Each temStr As String In Data
            If temStr = "d" Then 'temStrの値が"d"ならば
                Continue For '以下の処理(Str += temStr)はせずに繰返し処理に戻る
            End If
            Str += temStr
        Next

結果

Str = "asfg"


条件によって処理したくない場合に便利ですな。・・・えー、そんなの if で条件分岐させれはいいだけじゃん、Continue する必要ないじゃん!
そうです、

        Dim Data As String() = {"a", "s", "d", "f", "g"}
        Dim Str As String = String.Empty

        For Each temStr As String In Data
            If Not temStr = "d" Then 'temStrの値が"d"でないならば
                Str += temStr
            End If
        Next

結果

Str = "asfg"

で、十分です。が、条件分岐がやたら多い場合

        Dim i As Integer
        Dim Str As String = String.Empty
        For i = 0 To 15
            If 0 < i Then
                If i < 10 Then
                    If (i Mod 2) = 0 Then
                        Str += i.ToString
                    Else
                        '//何らかの処理
                    End If
                Else
                    '//何らかの処理
                End If
            Else
                '//何らかの処理
            End If
        Next
http://74.125.153.132/search?q=cache:apx5jC_FltIJ:blogs.wankuma.com/mikinyu/archive/2007/04/30/75030.aspx+vb.net+continue&cd=6&hl=ja&ct=clnk&gl=jp

結果

Str = "2468"

こんなソースを書いた事ありませんか?これって色んな意味で良くないそうです。ちなみにオレのソースはこんなんばっかりです・゚・(ノД`)・゚・。 これを、

        For i = 0 To 15
            If Not 0 < i Then
                '//何らかの処理
                Continue For
            End If

            If Not i < 10 Then
                '//何らかの処理
                Continue For
            End If

            If Not (i Mod 2) = 0 Then
                '//何らかの処理
                Continue For
            End If

            Str += i.ToString
        Next
http://74.125.153.132/search?q=cache:apx5jC_FltIJ:blogs.wankuma.com/mikinyu/archive/2007/04/30/75030.aspx+vb.net+continue&cd=6&hl=ja&ct=clnk&gl=jp

結果

Str = "2468"

とすると良いんだって。確かにすっきりしてメンテナンスしやすそう。