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
Yuval Itzchakov 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
Vajura 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
Tim Schmelter 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
Bennie van der Walt 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());
}