Instead of adding each item one by one to the ListBox destinationList
from the string array m_List
like this:
foreach (object name in m_List)
{
destinationList.Items.Add((string)name);
}
Is there any better way I can do it?
I don't want to bind the data to the destinationList since I want to delete some entries from the ListBox later on.
Okay.. if binding is not an option - and I would probably go that way if it was... then the only more efficient way to populate the listbox would be to do it in parallel.
(For this to work I am assuming you have the .Net 4 runtime, or the PLinq libraries installed)
The following code would show massive improvements on a multicore machine provided the collection of data was large enough to warrant the overhead of the initial setup. So this would only be viable for larger arrays.
Else I don't see anything wrong with your foreach loop.
HTH:
Just use (ItemSource as ObservableCollection)... to work with items, and not Items.Add etc.
If you only want to express it more elegantly, then perhaps this will work.
use OberservableCollection