【发布时间】:2011-02-19 13:23:14
【问题描述】:
我有一个代码块,我在其中检查复选框,比较给定代码中数据表的内容:
foreach (DataRow dr in dtResult.Rows)
{
for (var i = 0; i < chkboxListWorkTypes.Items.Count; i++)
{
if (chkboxListWorkTypes.Items[i].Value.Equals(dr["WorkTypeID"].ToString()))
{
chkboxListWorkTypes.Items[i].Selected = true;
}
}
}
任何 labmda 或 linq 表达式都会很棒。
【问题讨论】:
-
如何优化?表现?代码质量?还有什么?
-
你试过使用数据绑定吗?
-
任何专业开发人员都可以查看代码并说出需要哪种类型的优化。如果您在数据表中有 10 行和 5 个复选框,那么根据上面的代码,它将迭代 50 次以获得实际结果。很明显,我需要性能,通过 LINQ 或 LAMBDA。
-
> 我需要性能,通过 LINQ 或 LAMBDA。实际上,如果您需要性能,LINQ 是不可行的。
-
“LINQ 不是魔法”阿门。如果你想减少迭代,你需要一个不同的算法——但根据要求,可能没有办法绕过它。 我们无法猜测还有什么其他方法可能有效。最多,我们可以尝试改进常数因子 - 但看起来没有太多工作要做。
标签: c# asp.net linq lambda checkbox