This probably has a simple answer, but I must not have had enough coffee to figure it out on my own:
If I had a comma delimited string such as:
string list = 'Fred,Sam,Mike,Sarah';
How would get each element and add quotes around it and stick it back in a string like this:
string newList = ''Fred','Sam','Mike','Sarah'';
I’m assuming iterating over each one would be a start, but I got stumped after that.
One solution that is ugly:
int number = 0; string newList = ''; foreach (string item in list.Split(new char[] {','})) { if (number > 0) { newList = newList + ',' + ''' + item + '''; } else { newList = ''' + item + '''; } number++; }
Thanks for the comments, I had missed the external quotes.
Of course.. if the source was an empty string, would you want the extra quotes around it or not ? And what if the input was a bunch of whitespaces… ? I mean, to give a 100% complete solution I’d probably ask for a list of unit tests but I hope my gut instinct answered your core question.
Update: A LINQ-based alternative has also been suggested (with the added benefit of using String.Format and therefore not having to worry about leading/trailing quotes):