在 C# 中填充组合框的最快方法是啥? [关闭]

Posted

技术标签:

【中文标题】在 C# 中填充组合框的最快方法是啥? [关闭]【英文标题】:What is the fastest way to fill a combobox in C#? [closed]在 C# 中填充组合框的最快方法是什么? [关闭] 【发布时间】:2008-12-06 09:03:27 【问题描述】:

在 C# 中填充 ComboBox 的最快方法是什么?

    Add() 将 ComboBox 绑定到数据集

或者有更快的方法?

谢谢。

【问题讨论】:

我在 WinCe 中使用 SqlCe 在 .sdf 文件中工作 请将这些信息添加到您的问题中以防止投票失败。 请定义您是指开发人员术语还是数据检索术语中的“快速”。 在“快速”中是指数据检索 如果您的组合框中有太多项目以至于填充它是一个问题,那么您可能遇到了设计问题。 【参考方案1】:

您可能会发现执行此操作的最快方法是从数据读取器读取数据库,然后在循环中调用 .Add(),但使用数据读取器的数字索引字段(而不是命名属性)。

【讨论】:

我们还应该注意,结合 UI 和 DB 代码(虽然在技术上是最快的)可能不是这样做的最优雅的方法。将这些层分开是值得的。【参考方案2】:

好吧,除了一项之外,使用数据绑定的代码要少得多:

myComboBox.DataSource = myDataSet; myComboBox.DataBind();

当然,这假设您的 DataSet 已经包含数据。也许您可以完善您的问题?

【讨论】:

【参考方案3】:

您最快的方法可能是绑定到DataReader 或遍历DataReader 并使用ComboBox 的Add() 方法。无论哪种方式,关键不在于您是在绑定还是在迭代(我没有检测过这些,因此无法告诉您哪个更快),关键是使用 DataReader。

通过使用 DataSet,您正在加载和填充相当繁重的数据对象。如果您注意到速度问题,这可能是罪魁祸首。只需切换到 DataReader(无论是使用 Add() 还是绑定),您可能会得到提升。

当然,所有这些都是假设您首先看到的是速度问题。如果您不是,并且没有人抱怨您的应用程序的速度,并且您的应用程序没有预计会导致问题的增长,那么继续您当前的道路!"Premature optimization is the root of all evil."

【讨论】:

以上是关于在 C# 中填充组合框的最快方法是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中计算数组频率分布的最快方法是啥?

如何创建一个可以一次填充多个组合框的方法?

以编程方式填充组合框 dojo (1.8) 的最佳方法是啥?

创建由多个数据框组成的多级熊猫数据框的最快方法是啥?

从文本文件中读取数据并将其分配给数据框的最快方法是啥?

获取仅包含文本条目的组合框的选定文本的最简单方法是啥?