What is the easiest and fastest way to convert an array to BindingList?
Asked
Active
Viewed 6,647 times
4 Answers
10
Use the BindingList constructor that takes an IList<T>.
var binding = new BindingList<MyType>(myArray);
Oded
- 477,625
- 97
- 867
- 998
3
Be careful when using the BindingList(IList ..) constructor with an Array as the IList will be read-only.
Any attempts to add/remove from the BindingList will therefore throw a NotSupportedException as the IList can't handle the functionality as the Collection is read-only.
To create an editable BindingList you'll have to convert it to a list before using the IList constructor.
A nice description as to why Arrays are built from IList can be found here for some additional reading: Why array implements IList?
Community
- 1
- 1
David Moores
- 915
- 1
- 8
- 22
3
You're looking for the constructor:
var bl = new BindingList<YourClass>(arr);
SLaks
- 837,282
- 173
- 1,862
- 1,933
-
did not understand, can you give an example? – Okan Kocyigit Feb 27 '11 at 17:56
1
you can try a foreach cycle:
public void AppenFromArray(T[] aSource)
{
if (aSource == null) { return; }
foreach (T el in aSource)
{
this.Add(el);
}
}
Matteo TeoMan Mangano
- 420
- 4
- 14