gpt4 book ai didi

vb.net - 为什么 BindingList(Of T) 没有 AddRange 成员?

转载 作者:行者123 更新时间:2023-12-04 08:53:33 26 4
gpt4 key购买 nike

我认为标题几乎捕获了我的问题,但有一点背景:

当我加载一个表单时,它会将几千个(30k 奇数)对象添加到绑定(bind)列表中。当我的应用程序第一次加载时,它需要几秒钟(大约 10 秒左右的内存)才能循环遍历对象列表并使用 add 函数将其添加到 BindingSource 中。但是,当这种情况发生在具有相同加载代码的后续表单上时,只需一两秒钟。

所以我的查询是:
1. 为什么 BindingList(Of T) 没有 AddRange 成员?
2. 使用 AddRange 函数会更快地进行初始和后续添加吗?
3. 任何想法为什么一个版本的代码比相同版本运行得慢?

感谢您提供的任何帮助。

最佳答案

我不确定为什么没有可用的 AddRange 方法。您可以轻松编写自己的扩展方法:

    /// <summary>
/// Adds all the data to a binding list
/// </summary>
public static void AddRange<T>(this BindingList<T> list, IEnumerable<T> data)
{
if (list == null || data == null)
{
return;
}

foreach (T t in data)
{
list.Add(t);
}
}

关于vb.net - 为什么 BindingList(Of T) 没有 AddRange 成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3766747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com