C#实验委托、事件与继承

C#实验委托、事件与继承

ID:37909598

大小:109.50 KB

页数:20页

时间:2019-06-02

C#实验委托、事件与继承_第1页
C#实验委托、事件与继承_第2页
C#实验委托、事件与继承_第3页
C#实验委托、事件与继承_第4页
C#实验委托、事件与继承_第5页
资源描述:

《C#实验委托、事件与继承》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二委托、事件与继承一、实验目的1.掌握扩展函数的用法;2.掌握C#委托和事件的用法;3.掌握C#继承和多态概念;4.掌握常用接口的使用方法。二、实验内容(实验过程中编写的程序复制到本文件中,下课整理后上交)1.编写一个静态类MyExtensions,扩展.NETFramework基本类型的功能。1)定义一个扩展方法IsPalindrome,扩展string类的功能,来判断字符串是否为回文(指顺读和倒读内容都一样的文本)。为提高程序效率,该方法中不能直接调用Reverse方法。2)定义一个扩展方法ReverseDig

2、its,允许int将自己的值倒置,例如将整型1234调用ReverseDigits,返回结果为4321。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceexperiment2{staticclassMyExtensions{publicstaticboolIsPalindrome(thisstringstr){for(inti=0;i

3、r.Length;i++){if(str[i]!=str[str.Length-1-i]){returnfalse;}}returntrue;}publicstaticintReverseDigits(thisintnum){intj=0,Reverse_num=0;int[]a=newint[10];//数组中元素的数量应该是可变的for(inti=0;;i++)//注意{if(num==0)//1?break;a[i]=num%10;j++;num/=10;}for(inti=0;i

4、num+=(int)(a[i]*Math.Pow(10,j-i-1));//这儿一定要强制转换成int}returnReverse_num;}}classProgram{staticvoidMain(string[]args){stringstr;inta;Console.Write("Enterastring:");str=Console.ReadLine();Console.WriteLine("""+str+"""+(str.IsPalindrome()?"is":"isnot")+"apalindrome"

5、);Console.Write("Enteraninteger:");a=int.Parse(Console.ReadLine());Console.WriteLine("Thereverseof"+a+"is"+a.ReverseDigits());}}}1.应用委托和泛型集合类知识,完成以下程序。程序框架:源程序2:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.T

6、asks;namespaceexperment2_2{classDelegates{//创建委托类型publicdelegateboolNumberPredicate(intnumber);staticvoidMain(string[]args){int[]numbers={1,2,3,4,5,6,7,8,9,10};//生成委托实例NumberPredicateevenPredicate=IsEven;//利用委托变量调用IsEvenConsole.WriteLine("CallIsEvenusingadelegat

7、evariable:{0}",evenPredicate(2));//选出偶数ListevenNumbers=FilterArray(numbers,evenPredicate);//描述并输出DisplayList("UseIsEventofilterevennumbers:",evenNumbers);//滤过//选出素数并输出NumberPredicateprimePredicate=IsPrime;ListPrime=FilterArray_prime(numbers,primePredic

8、ate);DisplayList_prime("UseIsPrimetofilterevennumbers:",Prime);}privatestaticListFilterArray(int[]intArray,NumberPredicatepredicate){Listnumbers=newList

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。