How to convert ListBox.items to string of array collection in c#

29.5k Views Asked by At

I have bound array as datasource for ListBox . Now i need to convert listbox.Items to string of array collection.

foreach (string s1 in listBoxPart.Items)
{
   clist.Add(s1);
}

here clist is string list, so how can i add ListBox.items to clist?

4

There are 4 best solutions below

2
On

You can project any string contained inside Items using OfType. This means that any element inside the ObjectCollection which is actually a string, would be selected:

string[] clist = listBoxPart.Items.OfType<string>().ToArray();
2
On
for (int a = 0; a < listBoxPart.Items.Count; a++)
    clist.Add(listBoxPart.Items[a].ToString());

This should work if the items saved in the list are actualy strings, if they are objects you need to cast them and then use whatever you need to get strings out of them

0
On

If the array which is the datasource contains strings:

clist.AddRange(listBoxPart.Items.Cast<string>());

or if the DataSource is a String[] or List<string>:

clist.AddRange((Ilist<string>)listBoxPart.DataSource);

if this is actually ASP.NET:

clist.AddRange(listBoxPart.Items.Cast<ListItem>().Select(li => li.Text));
0
On

Just create a list of strings and then add the item.toString() to it.

var list = new List<string>();

foreach (var item in Listbox1.Items)
{
    list.Add(item.ToString());
}