【C#】Linqで同一名称のデータが何件あるかカウントする

次のようなSampleDataというクラスがあるとする。

public class SampleData
{
    public int Id;
    public string Name;
}

ここでは、SampleDataのNameが同一のデータが何件存在するかをカウントする。

var sampleDataList = new List();
sampleDataList.Add(new SampleData() { Id = 1, Name = "山田" });
sampleDataList.Add(new SampleData() { Id = 2, Name = "田中" });
sampleDataList.Add(new SampleData() { Id = 3, Name = "鈴木" });
sampleDataList.Add(new SampleData() { Id = 4, Name = "山田" });

foreach (var itemCount in sampleDataList.GroupBy(x => x.Name)
                                        .Select(x => new { Name = x.Key, Count = x.Count() }))
{
    Console.WriteLine($"{itemCount.Name} 件数:{itemCount.Count}");
}

実行結果

山田 件数:2
田中 件数:1
鈴木 件数:1