Enumerable.GroupBy メソッドで偶数と奇数に分ける

Enumerable.GroupBy メソッドで、数列を偶数と奇数に分けます。

クエリ式と、メソッド呼び出し構文の 2 通りの方法でプログラムを書いてみました。クエリ式いいですね。

using System;
using System.Collections.Generic;
using System.Linq;

class Program {
    static void Main() {
        var xs = from i in Enumerable.Range(0, 10)
                 group i by i % 2 == 0;
        foreach (var x in xs) {
            Console.WriteLine("{0} {1}", x.Key, string.Join(",", x));
        }

        Console.WriteLine("-----");

        var ys = Enumerable.Range(0, 10).GroupBy(e => e % 2 == 0, e => e);
        foreach (var y in ys) {
            Console.WriteLine("{0} {1}", y.Key, string.Join(",", y));
        }
    }
}

実行結果です。

True 0,2,4,6,8
False 1,3,5,7,9
-----
True 0,2,4,6,8
False 1,3,5,7,9