public static void Main()
var fruits = new[] { "Apple", "Apple", "Banana", "Banana" };
var quantities = fruits.GroupBy(
(f, fs) => new Quantity<string>(f, fs.Count())
foreach (var quant in quantities)
Console.WriteLine(quant.Item + " (" + quant.Count + ")");
public Quantity(T item, int count)
public T Item { get; private set; }
public int Count { get; private set; }