[C# 3.0 入门] [第一章 Lambda表达式] 第二节:Lambda表达式带来了什么
2010-09-30 20:59:53 来源:WEB开发网List 2 菜单项目数组
实际上,当时认为这样就足够了,谁知中途又被要求加入一种菜单项,这种菜单项在19点以后才可以看到。如果只有这一个的话,用if语句括起来判断一下例外条件就能够处理,可是要求是2个,而且还可能增加。于是,就想在这个表中添加条件语句。
最simple的解决方案,应该就是在MenuItem类里,保存“几点以后有效”的“几点”的整数值。
首先在MenuItemA类中,加上保存时间的整数字段“FromHour”。
1public class MenuItemB
2{
3 public readonly string Name;
4 public readonly SimpleMenuAction Action;
5 public readonly int FromHour;
6
7 public MenuItemB(string name, SimpleMenuAction action, int fromHour)
8 {
9 Name = name;
10 Action = action;
11 FromHour = fromHour;
12 }
13}
14
List 3 加上时间字段的菜单项定义
菜单项数组也改写成以下:
1private static MenuItemB[] MenuItems2 =
2 {
3 new MenuItemB("选择项1", 执行方法, 0),
4 new MenuItemB("选择项2", 执行方法, 0),
5 new MenuItemB("选择项3", 执行方法, 0),
6 new MenuItemB("选择项4", 执行方法, 19),
7 };
8
List 4 对List 3的菜单项进行修正
这样,需要的信息都能够包含在数组里了。
构建菜单的方法是,通过检查被选择的菜单对象的FromHour的值,如果与现在时间相比小,就把该菜单项显示出来。
赞助商链接