将数组转换为 BindingList 的最简单和最快的方法是什么?
问问题
6577 次
4 回答
10
使用BindingList
带有IList<T>
.
var binding = new BindingList<MyType>(myArray);
于 2011-02-27T17:55:32.700 回答
3
您正在寻找构造函数:
var bl = new BindingList<YourClass>(arr);
于 2011-02-27T17:54:42.177 回答
3
使用带有 Array 的 BindingList(IList ..) 构造函数时要小心,因为 IList 将是只读的。
因此,任何从 BindingList 添加/删除的尝试都将引发 NotSupportedException,因为 IList 无法处理该功能,因为 Collection 是只读的。
要创建可编辑的 BindingList,您必须在使用 IList 构造函数之前将其转换为列表。
关于为什么从 IList 构建数组的一个很好的描述可以在这里找到一些额外的阅读: 为什么数组实现 IList?
于 2014-04-01T15:21:12.090 回答
1
你可以尝试一个foreach循环:
public void AppenFromArray(T[] aSource)
{
if (aSource == null) { return; }
foreach (T el in aSource)
{
this.Add(el);
}
}
于 2011-02-27T17:55:17.853 回答