C# LINW group句によるクエリ結果のグループ化
group句を使うことで、特定のキーに基づいてクエリ結果をグループ化することができます。
group句の構文は以下のとおりです。
group 範囲変数 by キー
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string[] codes = { "hoge.java", "fuga.java", "bbb.cs", "ccc.cs", "apple.swift", "next.swift" }; var suffixesGroup = from code in codes where code.LastIndexOf(".") != -1 group code by code.Substring(code.LastIndexOf(".")); foreach (var suffixes in suffixesGroup) { Console.WriteLine("suffix is " + suffixes.Key); foreach (var fileName in suffixes) { Console.WriteLine("file is " + fileName); } Console.WriteLine(); Console.WriteLine(); } Console.ReadLine(); } } }
これを実行すると、.javaや.swiftの拡張子をグルーピングした結果を取得できます。
suffixごとに結果をグループ化し、結果を取得しているわけです。