public override string ToString() { Dictionary <string, int> cart = new Dictionary <string, int>(); Order.Sort(); String prod = "\n"; foreach (Product p in Order) { string item = p.ToString(); if (cart.ContainsKey(item)) { cart[item] += 1; } else { cart.Add(item, 1); } } foreach (var i in cart) { prod += i.ToString() + "\n"; } return(prod += "Subtotal: " + Total.ToString("C", new CultureInfo("en-US")) + "\nTaxes: " + (TaxRate * Total).ToString("C", new CultureInfo("en-US")) + "\nGrand total: " + (Total + (Total * TaxRate)).ToString("C", new CultureInfo("en-US")) + "\n"); }