I was talking with a co-worker about an efficient and reusable way to convert a list of objects to a comma-separated list of the objects’ IDs, and we came up with a pretty cool solution using an extension method. I figured I’d share — enjoy!
void Main() { var x1 = new MyClass { Id = 1 }; var x2 = new MyClass { Id = 2 }; var x3 = new MyClass { Id = 3 }; var myList = new List { x1, x2, x3 }; var csv = myList.ToCsv(); Console.WriteLine(csv); } public class MyClass { public int Id {get;set;} } public static class MyClassExtensions { public static string ToCsv(this IEnumerable<MyClass> myClasses) { return string.Join(",", myClasses.Select(x => x.Id)); } } /* Result: 1,2,3 */