Nick LaMarca Nick LaMarca - 1 month ago 14
C# Question

Counting Using Group By Linq

I have an object that looks like this:

Notice
{
string Name,
string Address
}


In a
List<Notice>
I want to output All distinct Name and how many times the particular appears in the collection.

For example:

Notice1.Name="Travel"
Notice2.Name="Travel"
Notice3.Name="PTO"
Notice4.Name="Direct"


I want the output

Travel - 2
PTO - 1
Direct -1


I can get the distinct names fine with this code but I can't seem to get the counts all in 1 linq statement

theNoticeNames= theData.Notices.Select(c => c.ApplicationName).Distinct().ToList();

Answer
var noticesGrouped = notices.GroupBy(n => n.Name).
                     Select(group =>
                         new
                         {
                             NoticeName = group.Key,
                             Notices = group.ToList(),
                             Count = group.Count()
                         });
Comments