public class Person { public string Name {get; set;} } void Main() { var list = new List(); for (var i = 0; i < 10000; i++) { var newName = new Person {Name = i.ToString()}; list.Add(newName); } var start2 = Stopwatch.GetTimestamp(); var result2 = string.Join(", ", list.Select(person => person.Name)); result2.Dump(); var elapsed2 = (Stopwatch.GetTimestamp() - start2) / (double)Stopwatch.Frequency; "\n\r".Dump(); var start1 = Stopwatch.GetTimestamp(); var result1 = list.Select(person => person.Name).Aggregate((current, next) => current + ", " + next); result1.Dump(); var elapsed1 = (Stopwatch.GetTimestamp() - start1) / (double)Stopwatch.Frequency; ("Aggregate : " + elapsed1).Dump(); ("Join : " + elapsed2).Dump(); } // Define other methods and classes here