如何将数组转换为BindingList

发布于 2024-10-19 17:28:06 字数 39 浏览 4 评论 0原文

将数组转换为 BindingList 最简单、最快的方法是什么?

What is the easiest and fastest way to convert an array to BindingList?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

美煞众生 2024-10-26 17:28:06

使用采用 IListBindingList 构造函数。

var binding = new BindingList<MyType>(myArray);

Use the BindingList constructor that takes an IList<T>.

var binding = new BindingList<MyType>(myArray);
沐歌 2024-10-26 17:28:06

您正在寻找构造函数

var bl = new BindingList<YourClass>(arr);

You're looking for the constructor:

var bl = new BindingList<YourClass>(arr);
霓裳挽歌倾城醉 2024-10-26 17:28:06

将 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?

半葬歌 2024-10-26 17:28:06

你可以尝试 foreach 循环:

    public void AppenFromArray(T[] aSource)
    {
        if (aSource == null) { return; }

        foreach (T el in aSource)
        {
            this.Add(el);
        }
    }

you can try a foreach cycle:

    public void AppenFromArray(T[] aSource)
    {
        if (aSource == null) { return; }

        foreach (T el in aSource)
        {
            this.Add(el);
        }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文