试题
来源:互联网 发布:300英雄签到硬币软件 编辑:程序博客网 时间:2024/06/10 09:07
1. 现有Person 类,包含属性Name, Email, Birthday. 有Email 类,包含方法void SendEmail(string). 有DataContext 类且
有Instance 单例,可通过DataContext.Instace.GetAllPeople()方法获得所有人员,请设计一个方法,在每天10 点的时候给当天过生日的Person 发送祝贺生日的邮件。
static void SendHappyBirthdayEamil() { if (DateTime.Now.Hour == 22) { var allPeople = DataContext.Instace.GetAllPeople(); var birthdaypeople = from theone in allPeople where (DateTime.Now.Month == theone.Birthday.Month) && (DateTime.Now.Date == theone.Birthday.Month) select theone.Birthday; foreach (var one in birthdaypeople) { one.Email.SendEmail("Happy Birthday!!"); } } }
7. 请描述值类型,引用类型,各自在内存中的运行原理 。
声明一个变量为值类型时,编译器将生成代码来分配足以容纳这种值的一个内存块;运行时,值类型存于栈中,方法结束后,栈会被清空;
声明一个引用类型时,编译器不会生成代码来分配足以容纳一个引用类型的内存块,只分配一小块内存刚好可以容纳一个引用(内存地址);引用类型的对象是储存在堆中的,带引用
本身(即内存地址)是存储在栈上的;在运行时.发现已不存在对象的引用,会在将来某个时候,安排由垃圾回收器将它内存回收到堆中;
8. 请描述lambda表达式的实质及举例使用lambda表达式 。
Lambda 表达式是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。 所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。
可以将此表达式分配给委托类型,如下所示:
delegate int del(int i);
del myDelegate = x => { return x * x; };
int j = myDelegate(5); //j = 25
- 试题
- 试题
- 试题
- 试题
- 试题
- 试题
- 试题
- 试题
- 试题
- 试题
- 试题
- 试题
- 微软试题
- 面试题....
- 几道面试题
- 几道面试题
- 面试题
- 面试题
- C#连接六类数据库的代码集
- 安装SQL SERVER2008所遇到的问题
- 开发clearcase的windows eclipse插件
- 用最后一个月认真学习
- c++ 切换视图函数
- 试题
- Linux压缩解压的所有命令
- 资治通鉴,梁高祖、武帝萧衍的坦率、幽默、“好笑”
- 在android下添加DLNA的支持的相关笔记
- cc-7
- iOS程序发布测试4-打包(Archive)发布(share)
- 后缀树【Suffix Tree】
- VC实现解压和压缩相关代码
- 把mel整合进mb