Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 900
  • Last Modified:

asp.net - arraylist to comma delimited string

I have an ArrayList with x number of items.
I would like to convert this ArrayList into a comma delimited string.
In addition, each item must be surrounded by single quotes.

This is what I have so far:

            strString = String.Join(",", arrArrayList.ToArray)

This gives me:

            strString = "item1, item2, item3, item4"


This is what I need:

            strString = "'item1', 'item2', 'item3', 'item4'"



Thank you.
0
Rick
Asked:
Rick
4 Solutions
 
p_davisCommented:

unfortunately, i think you will have to address each string in the array

and then just build the string

str = "'" + str.Trim() + "'"

and then after that call the string join on the array.
0
 
Todd GerbertIT ConsultantCommented:
Here's a simple function to loop through each item in the array, appending each one to a StringBuilder.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
	class Program
	{
		static void Main(string[] args)
		{
			ArrayList list = new ArrayList();

			list.AddRange(new string[] { "One", "Two", "Three" });

			string combined = ArrayListToCommaDelimited(list);
			
			Console.WriteLine(combined);
			Console.ReadKey();
		}

		private static string ArrayListToCommaDelimited(ArrayList array)
		{
			StringBuilder commaString = new StringBuilder();
			for (int i = 0; i < array.Count - 1; i++)
				commaString.AppendFormat("'{0}',", array[i]);
			commaString.AppendFormat("'{0}'", array[array.Count - 1]);
			return commaString.ToString();
		}
	}
}

Open in new window

0
 
käµfm³d 👽Commented:
What about this:
strString = "'" + String.Join("', '", arrArrayList.ToArray) + "'"

Open in new window

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
käµfm³d 👽Commented:
The eerie thing is I came up with this not 5 minutes prior to reading your question for one of my own projects...  spooky  ;)
0
 
RickAuthor Commented:
I almost had it.

strString = " String.Join("', '", arrArrayList.ToArray) + "'"

Thank you.


0
 
Erick37Commented:
You could loop the array and quote the strings one at a time:
Dim a() As Object = arrArrayList.ToArray

		For i As Integer = 0 To a.Count - 1
			a(i) = String.Format("'{0}'", a(i))
		Next

		strString = String.Join(",", a)

Open in new window

0
 
käµfm³d 👽Commented:
NP. Glad to help  :)
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now