カウントしながら3つに分割する

備忘録です。

その1

var counter = 0;
var max = 20;

while (true)
{
    if (max < counter)
        break;

    var x = counter % 3;
    Console.WriteLine($"{counter}: {x}");
    if (x == 2)
        Console.WriteLine("");
    
    counter++;
}

その2

var qy = Enumerable.Range(0, 20 + 1)
    .Select(counter => new { counter = counter, x = counter % 3 });

qy.ToList().ForEach(item =>
{
    Console.WriteLine($"{item.counter}: {item.x}");
    if (item.x == 2)
        Console.WriteLine("");
});

出力結果

0: 0
1: 1
2: 2

3: 0
4: 1
5: 2

6: 0
7: 1
8: 2

9: 0
10: 1
11: 2

12: 0
13: 1
14: 2

15: 0
16: 1
17: 2

18: 0
19: 1
20: 2