 <pre><code>var result=exampleList.GroupBy(p=&gt;p.Name).SelectMany(p=&gt;p.Select((value,index)=&gt; new CartItem() { Name = value.Name + (p.Count() == 1?"": string.Format(" ({0} of {1})", index+1, p.Count())), UnitPrice=value.UnitPrice, Quantity=value.Quantity, } )).ToList(); </code></pre>