I have a list of integer values (List) and would like to generate a string of comma delimited values. That is all items in the list output to a single comma delimted list.
My thoughts…
1. pass the list to a method.
2. Use stringbuilder to iterate the list and append commas
3. Test the last character and if it’s a comma, delete it.
What are your thoughts? Is this the best way?
How would my code change if I wanted to handle not only integers (my current plan) but strings, longs, doubles, bools, etc, etc. in the future? I guess make it accept a list of any type.
It’s amazing what the Framework already does for us.
For the general case:
As you can see, it’s effectively no different. Beware that you might need to actually wrap
x.ToString()in quotes (i.e.,"\"" + x.ToString() + "\"") in casex.ToString()contains commas.For an interesting read on a slight variant of this: see Comma Quibbling on Eric Lippert’s blog.
Note: This was written before .NET 4.0 was officially released. Now we can just say
using the overload
String.Join<T>(string, IEnumerable<T>). This method will automatically project each elementxtox.ToString().