RunningCSharp

MS系開発者による、雑多な記事。記事は所属企業とは関係のない、個人の見解です。

C#で書いたイテレーターを用いたコードをVBで書き直してみる

.netのVBを使い慣れない私が、今度はイテレーターを使ったテストコード(コンソールアプリケーション)をC#で書いた後、そのコードVBに書き直してみただけの記事です。

C#

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (string message in TestList())
            {
                Console.WriteLine(message);
            }
            //下記コードはコンソール画面を表示しておくために追加
            Console.ReadLine();
        }

        static IEnumerable<string> TestList()
        {
            yield return "I";
            yield return "have";
            yield return "a";
            yield return "pen";
        }
    }
}

上記処理をVB(Visual Studio 2015)で書き直してみます。

Module Module1

    Sub Main()
        For Each message In TestList()
            Console.WriteLine(message)
        Next
        '下記コードはコンソール画面を表示しておくために追加
        Console.ReadLine()
    End Sub

    Iterator Function TestList() As IEnumerable(Of String)
        Yield "I"
        Yield "have"
        Yield "a"
        Yield "pen"
    End Function

End Module

イテレーター自体はあまり多用しないので微妙ですが、ジェネリックの書き方の違いが見やすいかなと感じました。 とりあえず書き溜めて、そのうちQiitaとかで纏めようかと思います。