様々な基本になるサンプルを記録しています。

不定期更新です。

記事のサイドに使用している商品の紹介も掲載しているので、良ければご覧ください。

ラムダ式プログラミング

「ぬ」を探すプログラミング for Visual Basic

それを普通に組むと以下のようになる。

Module TEST

    Sub Main()

        '定義および初期化
        Dim TEST_STR_ARRY() As String = Nothing

        '再定義
        ReDim TEST_STR_ARRY(9)

        'データを配列に格納
        TEST_STR_ARRY(0) = "あいうえお"
        TEST_STR_ARRY(1) = "かきくけこ"
        TEST_STR_ARRY(2) = "さしすせそ"
        TEST_STR_ARRY(3) = "たちつてと"
        TEST_STR_ARRY(4) = "なにぬねの"
        TEST_STR_ARRY(5) = "はひふへほ"
        TEST_STR_ARRY(6) = "まみむめも"
        TEST_STR_ARRY(7) = "やゆよ"
        TEST_STR_ARRY(8) = "らりるれろ"
        TEST_STR_ARRY(9) = "わをん"


        '「ぬ」が含まれる配列探す
        For i As Integer = 0 To TEST_STR_ARRY.Length - 1

            '対象の配列に「ぬ」が入っていたら、メッセージを出力する
            If InStr(TEST_STR_ARRY(i), "ぬ") Then

                Console.WriteLine("  " & CStr(i + 1) &
                                  "番目の配列に「ぬ」があったよ!")

            Else

                Console.WriteLine("  " & CStr(i + 1) &
                                  "番目の配列に「ぬ」はないよ。")

            End If

        Next

        Console.ReadKey()

    End Sub

End Module


配列の要素数を決めるとか、ループで1要素ずつ探すとか作業の段取りが大変だ。
そこで、ラムダ式(LINQ)で組むと配列の番号指定や面倒くさいループ処理の記述が省略できる。

Module TEST

    Sub Main()

        '定義およびインスタンスの作成
        Dim TEST_STR_ARRY As New List(Of String)


        'データを配列に格納
        TEST_STR_ARRY.Add("あいうえお")
        TEST_STR_ARRY.Add("かきくけこ")
        TEST_STR_ARRY.Add("さしすせそ")
        TEST_STR_ARRY.Add("たちつてと")
        TEST_STR_ARRY.Add("なにぬねの")
        TEST_STR_ARRY.Add("はひふへほ")
        TEST_STR_ARRY.Add("まみむめも")
        TEST_STR_ARRY.Add("やゆよ")
        TEST_STR_ARRY.Add("らりるれろ")
        TEST_STR_ARRY.Add("わをん")


        '「ぬ」が含まれる配列探す
        Dim i = TEST_STR_ARRY.FindIndex(Function(aaa) aaa Like "*ぬ*")

        Console.WriteLine("  " & CStr(i) &
                          "番目の配列に「ぬ」があったよ!")

        Console.ReadKey()

    End Sub

End Module

見やすいソースコードを書けるように努力をしていきたいものだ。