最近我写了利用Lambda表达式一块的C#代码:MenuItemCollection与列表<MenuItem>
var dynMenu = new List<MenuItem>();
// some code to add menu items to dynMenu
if (!dynMenu.Any(x => x.Text == controller))
{
// do something
}
虽然要通过我的代码,我发现每个菜单项本身有一个名为ChildItems属性,它恰好是键入MenuItemCollection。有趣的是,我想我会用这个MenuItemCollection替换我的MenuItem列表。
改变后的第一行:
var dynMenu = new MenuItemCollection();
我注意到,这MenuItemCollection类型有像 “任何<>” 没有扩展方法, “所有<>”, “第一<>” 等,等 - 我觉得很奇怪。
有没有办法在这里使用Lambda表达式?
我应该回去使用“列表< < \ MenuItem>”吗?
使用OfType
@Darren,应该给出答案。 – 2010-06-18 17:43:57
你的意思是这样吗? dynMenu.AsQueryable()。OfType