【发布时间】:2012-01-20 11:08:57
【问题描述】:
目前我有一个列表框,其中包含工人列表和另一个数组,其中包含在列表框中选择的工人的姓名列表。以下代码的性能如何,我正在寻找改进或更好的方法。
string[] keys = tempTaskRecord.GetWorkers().AllKeys;
foreach (ListItem assignedEmployee in lstWorkers.Items)
{
foreach (string employeeName in keys)
{
assignedEmployee.Selected = assignedEmployee.Text.Equals(employeeName);
}
}
编辑代码
string[] keys = tempTaskRecord.GetWorkers().AllKeys;
foreach (ListItem assignedEmployee in lstWorkers.Items)
{
foreach (string employeeName in keys)
{
if (!assignedEmployee.Text.Equals(employeeName)) continue;
assignedEmployee.Selected = true;
}
}
在哪里,
GetWorkers() 返回一个NameValueCollection。
lstWorkers 是ListBox,其中包含所有员工的列表项。
在 .NET 2.0 中工作(抱歉,没有 Linq :))
【问题讨论】:
-
你能给我们记录数 - keys.length 和 lstWorkers.Items.Count 吗?
-
@Dmitry yup 列表框数量是数百到 1K 的倍数(我也有搜索框),keys.length 现在没有限制
标签: c# performance listbox iteration selecteditem