您所在位置: 网站首页 / C#实验委托、事件与继承.doc / 文档详情
C#实验委托、事件与继承.doc 立即下载
2024-09-09
约1.4万字
约20页
0
87KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

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

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

预览

免费试读已结束,剩余 15 页请下载文档后查看

5 金币

下载文档

如果您无法下载资料,请参考说明:

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:",
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

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

文档大小:87KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用