【发布时间】:2011-04-29 10:41:36
【问题描述】:
我实现了一个 ExtensionMethod,它基本上作为 ForEach-Loop 工作,我的实现如下所示:
public static void ForEach(this ListItemCollection collection, Action<ListItem> act )
{
foreach (ListItem item in collection)
act(item);
}
但是,我希望在第一次满足特定条件后停止循环的方法。
这是我目前的使用方式:
ddlProcesses.Items.ForEach(item => item.Selected = item.Value == Request["Process"]?true:false);
这样做的问题是 DropDownList 中只能有一项符合此要求,但循环无论如何都已完成,解决此问题的最不难看的方法是什么?
谢谢。
【问题讨论】:
-
如果您不尝试 ddlProcesses.Items.FindByValue(Request["Process"]).Selected = true; 将是最简单的事情
-
@V4Vendetta:使用波浪号突出显示
syntax in comments -
@abatishchev 取消选择所有项目?
-
@V4Vendetta:抱歉,在 OP 的问题中没有这样的任务。但事实上,我猜他以后会需要这个。但一切都取决于他:)
-
@abatishchev 也许他有,也可能没有 ClearSelection() 可以解决问题
标签: c# .net linq extension-methods listitem