在 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# 中填充组合框的最快方法是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章