如何将数组转换为BindingList
将数组转换为 BindingList 最简单、最快的方法是什么?
What is the easiest and fastest way to convert an array to BindingList?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
将数组转换为 BindingList 最简单、最快的方法是什么?
What is the easiest and fastest way to convert an array to BindingList?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
使用采用
IList
的BindingList
构造函数。Use the
BindingList
constructor that takes anIList<T>
.您正在寻找构造函数:
You're looking for the constructor:
将 BindingList(IList ..) 构造函数与数组一起使用时要小心,因为 IList 是只读的。
因此,任何从 BindingList 添加/删除的尝试都将引发 NotSupportedException,因为 IList 无法处理该功能,因为 Collection 是只读的。
要创建可编辑的 BindingList,您必须在使用 IList 构造函数之前将其转换为列表。
关于为什么数组是从 IList 构建的一个很好的描述可以在这里找到,以供一些额外的阅读:
为什么数组要实现 IList?
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?
你可以尝试 foreach 循环:
you can try a foreach cycle: