C#のGroupByに複数のキーを指定する
GroupBy で複数のキーを使いたい時があります。
GroupByに複数キーを指定
こんな書き方ができます。class test { public int no { get; set; } public string name { get; set; } } var data = new List<test>() { new test { no = 2,name="AAAA" } , new test { no = 2, name = "ZZZ" } , new test { no = 1, name = "BBBB" } , new test { no = 1, name = "CCC" } }; var query = data.GroupBy(x => new { x.no, x.name }); // no = 2, name = "AAAA" // no = 2, name = "ZZZ" // no = 1, name = "BBBB" // no = 1, name = "CCC" // Listにするならこんな感じ。改行を入れています。 query2 = data.GroupBy(x =>: new { x.no, x.name }) .Select(y =>: new { no = y.Key.no, y.Key.name }).ToList();クエリ式が好きな方はこちら。
var query2 = from q in data group q by new { q.no, q.name } into grp select new { no = grp.Key.no, name = grp.Key.name, };便利ですね。