C#面向对象编程 委托和事件习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
public static void Method1() {
Console.WriteLine("时间处理完成"); } } class class10 { static void Main(String[] args) {
eventTest eObj=new eventTest(); eObj.Got5+=new notify5(Handlers.Method1); for(int cnt=0;cnt<5;cnt++) {
C#面向对象编程-委托和事件
1.一个委托Fra Baidu bibliotek某一时刻()指向多个方法。 a)可以 b)不可以
2.将事件通知其他对象的对象称为() a)发布方 b)订户 c)通知方
3.以下的 C#代码: using System; using System.Theading; class App{ Public static void Main() { Timer timer = new Timer(new TimerCallback(CheckStatus),null,0,2000); Console.Read(); } Static void CheckStatus(Object state) { Console.WriteLine(“正在运行检查……”); } } 在使用代码创建定时器对象的时候,同时指定了定时器的事件,程序运行时将每隔两秒 钟打印一行“正在运行检查……”,因此,TimerCallback 是一个( )选一项 a) 委托 b) 结构 c) 函数 d) 类名
8.C#中,关于事件的定义正确的是()。 a)private event OnClick(); b)private event OnClick; c)public delegate void Click();public event Click void OnClick(); d)public delegate void Click();public event Click OnClick;
7>以下关于 C#代码的说法正确的是(). Public delegate void SendMailDelegate(string address); Public class Carrier{ Public event SendMailDelegate sendEvent; Static void Main(){ Carrier t = new Carrier(); //1
5.一个委托在某一时刻()指向多个方法。 A. 可以 B. 不可以
6.将事件通知其他对象的对象称为() A. 发布方 B. 订户 C. 通知方
7.声明一个委托 public delegate int myCallBack(int x); 则用该委托产生的回调方法的 原型应该是() A. void myCallBack(int x) B. int receive(int num) C. string receive(int x) D. 不确定的
A(21); } Public static void R(int i){
Console.write(i.ToString()); } } a) 代码中存在错误,delegate void D(int i);不能定义在命名空间或者类之外 b) 代码中存在错误,代码行 V(new D(R));使用委托错误 c) 程序正常运行,输出为 0 d) 程序正常运行,输出为 210
1> 在 C#中,下列代码的运行结果是(). Public delegate void BuyTicketDelegate(string num); Public class Student { Public event BuyTicketDelegate btEvent; Public Student(string num) { btEvent+= new BuyTicketDelegate(this.BuyTicket); } Public void ShowNum(string num) { btEvent(num); } Private void BuyTicket(string num) { Console.WriteLine(“我要买”+num+”次车票”); } Static void Main() { Console.WriteLine(“创建学生对象”); Student stu = new Student(“TI”); Console.WriteLine(“创建完毕”); Stu.ShowNum(“TI”); } } a) 创建学生对象 创建完毕 b) 创建学生对象 我要买 TI 次车票 创建完毕 c) 创建学生对象 创建完毕 我要买 TI 次车票 d) 我要买 TI 次车票 创建学生对象 创建完毕
a) public delegate MessageDelegate messageEvent b) public MessageDelegate messageEvent c) private event MessageDelegate(messageEvent) d) public event MessageDelegate messageEvent;
46) 在 C#中,下列代码的运行结果是()(选择一项) Using System; Delegate void D(int i); Class P{
Public static void Main(){ V(new D(R)); Console.Write(0);
} Public static void V(D A){
4.阅读以下 C#代码 Namespace tevent { public delegate void notify5();
class eventTest {
public void Raise5(int I) {
if(I%3==1) Got5();
}
public event notify5 Got5; } class Handlers {
int y=cnt*2+1; eObj.Raise5(y); } Console.WriteLine(); } } 代码允许的结果为()。(选择一项) A)控制台窗口不能出任何信息。 B)在控制台窗口输出“时间处理完成”1 次 C)在控制台窗口输出“时间处理完成”2 次 D)在控制台窗口输出“时间处理完成”5 次
t.sendEvent+= new SendMailDelegate(t_sendEvent);//2 t.sendEvent(“北大青鸟啊博泰克”); //3 t_sendEvent(“北大青鸟啊博泰克”); //4 } Private static void t_sendEvent(string address){
Console.WriteLine(“将信寄往”+address); } } a) 代码正确编译和运行,并输出一次“将信寄往北大青鸟阿博泰克”; b) 代码正确编译和运行,并输出两次“将信寄往北大青鸟阿博泰克”; c) 代码将出现编译错误, d) 代码将编译正确,但运行时出现异常。
9>在 C#中,假如有一个名为”MessageDelegate”的委托,下列能够正确定义 一个事件的是()
Console.WriteLine("时间处理完成"); } } class class10 { static void Main(String[] args) {
eventTest eObj=new eventTest(); eObj.Got5+=new notify5(Handlers.Method1); for(int cnt=0;cnt<5;cnt++) {
C#面向对象编程-委托和事件
1.一个委托Fra Baidu bibliotek某一时刻()指向多个方法。 a)可以 b)不可以
2.将事件通知其他对象的对象称为() a)发布方 b)订户 c)通知方
3.以下的 C#代码: using System; using System.Theading; class App{ Public static void Main() { Timer timer = new Timer(new TimerCallback(CheckStatus),null,0,2000); Console.Read(); } Static void CheckStatus(Object state) { Console.WriteLine(“正在运行检查……”); } } 在使用代码创建定时器对象的时候,同时指定了定时器的事件,程序运行时将每隔两秒 钟打印一行“正在运行检查……”,因此,TimerCallback 是一个( )选一项 a) 委托 b) 结构 c) 函数 d) 类名
8.C#中,关于事件的定义正确的是()。 a)private event OnClick(); b)private event OnClick; c)public delegate void Click();public event Click void OnClick(); d)public delegate void Click();public event Click OnClick;
7>以下关于 C#代码的说法正确的是(). Public delegate void SendMailDelegate(string address); Public class Carrier{ Public event SendMailDelegate sendEvent; Static void Main(){ Carrier t = new Carrier(); //1
5.一个委托在某一时刻()指向多个方法。 A. 可以 B. 不可以
6.将事件通知其他对象的对象称为() A. 发布方 B. 订户 C. 通知方
7.声明一个委托 public delegate int myCallBack(int x); 则用该委托产生的回调方法的 原型应该是() A. void myCallBack(int x) B. int receive(int num) C. string receive(int x) D. 不确定的
A(21); } Public static void R(int i){
Console.write(i.ToString()); } } a) 代码中存在错误,delegate void D(int i);不能定义在命名空间或者类之外 b) 代码中存在错误,代码行 V(new D(R));使用委托错误 c) 程序正常运行,输出为 0 d) 程序正常运行,输出为 210
1> 在 C#中,下列代码的运行结果是(). Public delegate void BuyTicketDelegate(string num); Public class Student { Public event BuyTicketDelegate btEvent; Public Student(string num) { btEvent+= new BuyTicketDelegate(this.BuyTicket); } Public void ShowNum(string num) { btEvent(num); } Private void BuyTicket(string num) { Console.WriteLine(“我要买”+num+”次车票”); } Static void Main() { Console.WriteLine(“创建学生对象”); Student stu = new Student(“TI”); Console.WriteLine(“创建完毕”); Stu.ShowNum(“TI”); } } a) 创建学生对象 创建完毕 b) 创建学生对象 我要买 TI 次车票 创建完毕 c) 创建学生对象 创建完毕 我要买 TI 次车票 d) 我要买 TI 次车票 创建学生对象 创建完毕
a) public delegate MessageDelegate messageEvent b) public MessageDelegate messageEvent c) private event MessageDelegate(messageEvent) d) public event MessageDelegate messageEvent;
46) 在 C#中,下列代码的运行结果是()(选择一项) Using System; Delegate void D(int i); Class P{
Public static void Main(){ V(new D(R)); Console.Write(0);
} Public static void V(D A){
4.阅读以下 C#代码 Namespace tevent { public delegate void notify5();
class eventTest {
public void Raise5(int I) {
if(I%3==1) Got5();
}
public event notify5 Got5; } class Handlers {
int y=cnt*2+1; eObj.Raise5(y); } Console.WriteLine(); } } 代码允许的结果为()。(选择一项) A)控制台窗口不能出任何信息。 B)在控制台窗口输出“时间处理完成”1 次 C)在控制台窗口输出“时间处理完成”2 次 D)在控制台窗口输出“时间处理完成”5 次
t.sendEvent+= new SendMailDelegate(t_sendEvent);//2 t.sendEvent(“北大青鸟啊博泰克”); //3 t_sendEvent(“北大青鸟啊博泰克”); //4 } Private static void t_sendEvent(string address){
Console.WriteLine(“将信寄往”+address); } } a) 代码正确编译和运行,并输出一次“将信寄往北大青鸟阿博泰克”; b) 代码正确编译和运行,并输出两次“将信寄往北大青鸟阿博泰克”; c) 代码将出现编译错误, d) 代码将编译正确,但运行时出现异常。
9>在 C#中,假如有一个名为”MessageDelegate”的委托,下列能够正确定义 一个事件的是()