Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

IEnumerable.GroupByメソッド

Enumerable.GroupBy(TSource, TKey) メソッド (IEnumerable(TSource), Func(TSource, TKey)) (System.Linq)
指定されたキー セレクター関数に従ってシーケンスの要素をグループ化します。

SQLでは、GROUP BYに相当します。

ソースコード

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

namespace LinqSample {
    class Program {
        static void Main(string[] args) {
            int[] numbers = new int[] { 1, 2, 3, 4, 5 };
            IEnumerable<IGrouping<bool, int>> groups = numbers.GroupBy(number => 3 < number);
            Console.WriteLine(groups.ElementAt(0).Sum());    // 1, 2, 3
            Console.WriteLine(groups.ElementAt(1).Sum());    // 4, 5
            Console.ReadKey();
        }
    }
}

実行結果