




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
.... /NUMPAGES20 实验二委托、事件与继承 一、实验目的 掌握扩展函数的用法; 掌握C#委托和事件的用法; 掌握C#继承和多态概念; 掌握常用接口的使用方法。 二、实验容 (实验过程中编写的程序复制到本文件中,下课整理后上交) 编写一个静态类MyExtensions,扩展.NETFramework基本类型的功能。 1)定义一个扩展方法IsPalindrome,扩展string类的功能,来判断字符串是否为回文(指顺读和倒读容都一样的文本)。为提高程序效率,该方法中不能直接调用Reverse方法。 2)定义一个扩展方法ReverseDigits,允许int将自己的值倒置,例如将整型1234调用ReverseDigits,返回结果为4321。 usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; namespaceexperiment2 { staticclassMyExtensions { publicstaticboolIsPalindrome(thisstringstr) { for(inti=0;i<str.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<j;i++) { Reverse_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"); Console.Write("Enteraninteger:"); a=int.Parse(Console.ReadLine()); Console.WriteLine("Thereverseof"+a+"is"+a.ReverseDigits()); } } } 应用委托和泛型集合类知识,完成以下程序。 程序框架: 源程序2: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; namespaceexperment2_2 { classDelegates { //创建委托类型 publicdelegateboolNumberPredicate(intnumber); staticvoidMain(string[]args) { int[]numbers={1,2,3,4,5,6,7,8,9,10}; //生成委托实例 NumberPredicateevenPredicate=IsEven; //利用委托变量调用IsEven Console.WriteLine("CallIsEvenusingadelegatevariable:{0}",evenPredicate(2)); //选出偶数 List<int>evenNumbers=FilterArray(numbers,evenPredicate); //描述并输出 DisplayList("UseIsEventofilterevennumbers:",evenNumbers);//滤过 //选出素数并输出 NumberPredicateprimePredicate=IsPrime; List<int>Prime=FilterArray_prime(numbers,primePredicate); DisplayList_prime("UseIsPrimetofilterevennumbers:",

17****21
实名认证
内容提供者


最近下载