c#实习4报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告实验四:委托实验目的:理解委托的含义;掌握委托的声明、实例化及调用的方法。实验内容:一、1.运行课本例9.4,仔细理解多播委托的实现方法。注:此题不必给出程序代码,只需给出运行结果,并写出①委托的实现要点;②什么多播委托,如何实现多播委托。2.在实现生活中,委托是经常发生的,比如某天,小明委托小张买火车票,然后又委托小张买电影票。定义两个类,分别是MrZhang和MrMing,MrZhang类中的两个买票方法只需要输出一句买票的提示信息;MrMing类中创建委托,委托MrZhang去买火车票及电影票。使用委托模拟实现上述描述。请在实验数据记录及分析中写出相应的源程序代码。3.改写教材例9.2,使得通用排序程序能按升序或降序进行排序。为此将委托的声明改为:delegatevoidD(int[]A,boolAscend);请自行修改其他部分的程序代码以实现要求的功能。运行效果如图所示。请在实验数据记录及分析中写出相应的源程序代码。实验数据记录及分析(或程序及运行结果)第一题:实验报告1.委托的实现要点:首先要声明委托,其次对委托实例化,委托是可保存对方法的引用的类,实例化的方法可以是静态方法,也可以是实例方法,调用时使用名称不同,静态方法时是“类名.方法名”;实例方法时是“实例对象名.方法名”。2.多播委托是指委托可以包含多个方法。声明多播委托时,返回值必须为void,它通过“+”或“+=”向多播委托实例封装的调用列表中添加方法,通过“-”或“-=”从多播委托实例封装的调用列表中删除方法。第二题:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication2{delegatevoidMrMing(stringx);classMrZhang{publicstaticvoidA(stringi){Console.WriteLine(请帮我买一张火车票);}publicstaticvoidB(stringi){Console.WriteLine(请帮我买一张电影票);}}classTest{staticvoidMain(){MrMingx1=newMrMing(MrZhang.A);x1(i);实验报告MrMingx2=newMrMing(MrZhang.B);x2(i);Console.ReadLine();}}}第三题:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication3{delegatevoidD(int[]A,boolAscend);classArraySort{publicstaticvoidDisplayMatrix(int[]A,boolAscend){foreach(intiinA)Console.Write({0,5},i);Console.WriteLine();}publicstaticvoidGeneralSort(int[]A,boolAscend,Dsort){sort(A,Ascend);Console.WriteLine(数组:);foreach(intiinA)Console.Write({0,5},i);Console.WriteLine();}publicstaticvoidBubbleSort1(int[]A,boolAscend){inti,t;intN=A.Length;for(intloop=1;loop=N-1;loop++){for(i=0;i=N-1-loop;i++)if(A[i]A[i+1]){t=A[i];A[i]=A[i+1];A[i+1]=t;}}}publicstaticvoidBubbleSort2(int[]A,boolAscend){inti,t;intN=A.Length;for(intloop=1;loop=N-1;loop++){实验报告for(i=N-1;i0;i--)if(A[i]A[i-1]){t=A[i];A[i]=A[i-1];A[i-1]=t;}}}publicstaticvoidSelectSort1(int[]A,boolAscend){inti,t,MinI;intN=A.Length;for(intloop=0;loop=N-2;loop++){MinI=loop;for(i=loop;i=N-1;i++)if(A[i]A[MinI]){MinI=i;t=A[loop];A[loop]=A[MinI];A[MinI]=t;}}}publicstaticvoidSelectSort2(int[]A,boolAscend){inti,t,MaxI;intN=A.Length;for(intloop=0;loop=N-2;loop++){MaxI=loop;for(i=loop;i=N-1;i++)if(A[i]A[MaxI]){MaxI=i;t=A[loop];A[loop]=A[MaxI];A[MaxI]=t;}}}staticvoidMain(){int[]A=newint[10]{32,25,57,77,21,28,18,83,80,74};boolAscend;Ascend=false;Console.WriteLine(原始数组:);DisplayMatrix(A,Ascend);Dd1=newD(ArraySort.BubbleSort1);Console.Write(冒泡算法---);GeneralSort(A,Ascend,d1);Dd2=newD(ArraySort.BubbleSort2);GeneralSort(A,Ascend,d2);Dd3=newD(ArraySort.SelectSort1);实验报告Console.Write(选择算法---);GeneralSort(A,Ascend,d3);Dd4=newD(ArraySort.SelectSort2);GeneralSort(A,Ascend,d4);Console.ReadLine();}}}评语:日期:年月日

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功