Enumerable.ToLookup(TSource, TKey) メソッド (IEnumerable(TSource), Func(TSource, TKey)) (System.Linq)
指定されたキー セレクター関数に従って、IEnumerable
ソースコード
using System; using System.Collections.Generic; using System.Linq; namespace LinqSample { class Program { static void Main(string[] args) { Man[] mans = new Man[] { new Man() { Name = "suzuki taro", Age = 20 }, new Man() { Name = "sato taro", Age = 21 }, new Man() { Name = "sato jiro", Age = 20 } }; // 苗字をキーにしてグループ分けする。 ILookup<string, Man> lookup = mans.ToLookup(man => man.Name.Split(' ')[0]); foreach (IEnumerable<Man> group in lookup) { foreach (Man man in group) { Console.Write(man + " "); } Console.WriteLine(); Console.WriteLine("-- グループ終端"); } Console.ReadKey(); } } class Man { public string Name { get; set; } public int Age { get; set; } public override string ToString() { return string.Format("Name = {0}, Age = {1}", Name, Age); } } }