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

hayateasdf's blog

C#,javascript,pythonなどいろいろ。広く浅く

GroupByで重複しているIDをグループ化

var ids = new[] { 1, 3, 5, 7, 9, 1, 2, 3 };
// {id, index}の匿名型作成
// idをグループ化
var group_index = ids
    .Select((x, index) => new {id = x, index = index})
    .GroupBy(x => x.id);
    
// id == 1のグループとりだす
var check_id = 1;
var group = group_index
    .FirstOrDefault(x => x.Key == check_id)
    .ToArray();
    
    
foreach(var item in group)
{
    Console.WriteLine(string.Format("id = {0}, index = {1}", item.id, 
        item.index));
}

出力

id = 1, index = 0
id = 1, index = 5