C#

【C#】繰り返し処理について

C#の繰り返し処理について記述します。
検証内容は1から100までをループによりコンソールに出力させます。
今回検証するのは以下の繰り返し処理となります。

繰り返し処理一覧

for
foreach
foreach(yield return)
while
do while
List.ForEach
Action
goto

forのソースコード

using System;

class Test
{
    public static void Main()
    {
        Console.WriteLine("▼ for 文");
        Console.WriteLine("*=--------=*");
        for (int a = 1; a <= 100; a++)
        {
            Console.Write(a + "\t");
        }
        Console.WriteLine("");
    }
}

出力結果

foreachのソースコード

using System;
using System.Linq;

class Test
{
    public static void Main()
    {
        Console.WriteLine("▼ foreach 文");
        Console.WriteLine("*=------------=*");
        foreach (int b in Enumerable.Range(1, 100))
        {
            Console.Write(b + "\t");
        }
        Console.WriteLine("");
    }
}

出力結果

foreach(yield return)のソースコード

using System;
using System.Collections.Generic;

class Test
{
    private static IEnumerable<int> GetValues()
    {
        int c = 0;
        while (++c <= 100)
        {
            yield return c;
        }
    }
    public static void Main()
    {
        Console.WriteLine("▼ foreach 文 (yield return)");
        Console.WriteLine("*=---------------------------=*");
        foreach (int c in GetValues())
        {
            Console.Write(c + "\t");
        }
        Console.WriteLine("");
    }
}

出力結果

whileのソースコード

using System;

class Test
{
    public static void Main()
    {
         Console.WriteLine("▼ while 文");
        Console.WriteLine("*=-----------=*");
         int d = 0;
         while(++d <= 100)
         {
             Console.Write(d + "\t");
         }
         Console.WriteLine("");
    }
}

出力結果

do whileのソースコード

using System;

class Test
{
    public static void Main()
    {
        Console.WriteLine("▼ do while 文");
        Console.WriteLine("*=-------------=*");
        int e = 1;
        do
        {
            Console.Write(e++ + "\t");
        }
        while (e <= 100);
        Console.WriteLine("");
    }
}

出力結果

List.ForEachのソースコード

using System;
using System.Linq;

class Test
{
    public static void Main()
    {
        Console.WriteLine("▼ List<T>.ForEach");
        Console.WriteLine("*=-----------------=*");
        Enumerable.Range(1, 100).ToList().ForEach(f => Console.Write(f + "\t"));
        Console.WriteLine("");
    }
}

出力結果

Actionのソースコード

using System;

class Test
{
    public static void Main()
    {
        Console.WriteLine("▼ Action<T>");
        Console.WriteLine("*=-----------=*");
        Action<int> Foo = null;
        Foo = g =>
        {
            if (0 < g)
            {
                Console.Write(g + "\t");
            }
            if (g < 100)
            {
                Foo(++g);
            }
        };
        Foo(1);
        Console.WriteLine("");
    }
}

出力結果

gotoのソースコード

using System;

class Test
{
    public static void Main()
    {
        Console.WriteLine("\n▼ goto 文");
        Console.WriteLine("*=-----------=*");
        int h = 1;
        start:
        Console.Write(h + "\t");
        if (++h <= 100)
        {
            goto start;
        }
        Console.WriteLine("");
    }
}

出力結果

説明は以上となります。
この記事が誰かの助けになれば幸いです。