読者です 読者をやめる 読者になる 読者になる

プログラマーな日々

プログラマーをやっています。好きなツール:WorkFlowy、好きな言語:C#、好きなサービス:Backlog、好きなAWS:AWS Lambda。

IEnumerable.GroupByメソッド

.NET C# LINQ

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();
        }
    }
}

実行結果