填充下拉列表的方法更有效?
var info = db.table.Where( x => x.column == targetInformation).
Select(x => new {x.item, x.index});
**************FOREACH
foreach( var infos in info)
{
drowDownList.Items.Add(new {infos.item,infos.index.ToString()});
}
**************DATABIND
dropDownList.DataSource = info;
dropDownList.DataBind();
答案 0 :(得分:2)
如John Saunders所述,这里的效率并不值得考虑,尤其是考虑使用数据库操作。
换句话说,每个人的表现几乎都是一样的。
但是,您应该考虑的是,作为程序员,您应该更有效地阅读?此外,您是否要与团队中的其他人共享此代码?它们是否更习惯于WPF风格的代码,或更多的手动代码风格?
在这种情况下,最好的效率可能是为您和您的同事最大限度地提高此代码的可读性。
答案 1 :(得分:0)
这有点不同,但您可以尝试这样的事情:
var results = table.AsEnumerable().Where(row => row.Field<int>("SomeType") > 1);
foreach (DataRow row in results)
{
dropDownList.Items.Add(row.Field<string>("SomeText"), row.Field<int>("SomeID"));
}
//you don't need to databind if you're adding the items manually
//dropDownList.DataSource = info;
//dropDownList.DataBind();