C#实验.docx

上传人:b****2 文档编号:2236714 上传时间:2022-10-28 格式:DOCX 页数:48 大小:592.84KB
下载 相关 举报
C#实验.docx_第1页
第1页 / 共48页
C#实验.docx_第2页
第2页 / 共48页
C#实验.docx_第3页
第3页 / 共48页
C#实验.docx_第4页
第4页 / 共48页
C#实验.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

C#实验.docx

《C#实验.docx》由会员分享,可在线阅读,更多相关《C#实验.docx(48页珍藏版)》请在冰豆网上搜索。

C#实验.docx

C#实验

 

福建农林大学计算机与信息学院

 

实验报告

 

课程名称:

C#程序设计

姓名:

系:

专业:

年级:

学号:

指导教师:

职称:

 

年月日

实验项目列表

序号

实验项目名称

成绩

指导教师

1

类及成员的定义与应用

2

委托与事件

3

Windows应用程序设计

4

文件操作

5

数据库操作技术

福建农林大学计算机与信息学院实验报告

系:

计算机专业:

年级:

姓名:

学号:

实验室号_______计算机号

实验时间:

指导教师签字:

成绩:

实验1:

类及成员的定义与应用

一、实验目的和要求

1)掌握类、属性、字段、方法、索引器的概念、定义

2)掌握类、属性、字段、方法、索引器的应用

二、实验内容和原理

1)方法的定义与应用

1、创建新项目,项目命名为MethodDemo,解决方案命名为:

Lab_1_Solution。

1)在MethodDemo项目中,新添加一个类:

ClassMethod

2)在ClassMethod类内声明一个静态成员方法,签名方式如下:

voidPassValueByVlaue(intx)

其功能是:

先对x平方运算,运算后的值赋给x。

3)在ClassMethod类内声明一个静态成员方法,签名方式如下:

voidPassValueByRef(refintx)

其功能是:

先对x平方运算,运算后的值赋给x。

4)在ClassMethod类内声明一个静态成员方法,签名方式如下:

voidPassRefByVlaue(int[]x)

其功能是:

先对数组x的第一个值平方运算,运算后的值放回原来的位置。

然后为数组分配一个新的空间。

5)在ClassMethod类内声明一个静态成员方法,签名方式如下:

voidPassRefByRef(refint[]x)

其功能是:

先对数组x的第一个值平方运算,运算后的值放回原来的位置。

然后为数组分配一个新的空间。

6)在MethodDemo项目的program类的Main函数中,调用上述四个方法,并单步调试分析。

2)索引器的定义与应用

2在Lab_1_Solution解决方案,添加新项目,项目命名为IndexorDemo

1)定义以整数为参数的索引器

2)定义以字符串为参数的索引器

3)定义以2个参数的索引器

4)在IndexorDemo项目的program类的Main函数中,调用上述3类索引器,并调试分析。

三、实验环境

计算机及VS2008

四、调试过程

1.给变量初始化:

单步执行调试如下:

1)PassValueByValue(intx)

2)PassValueByRef(refx)

3)PassRefByVlaue(intx)

4)PassRefByRef(refx)

2.三中索引器定义如下:

publicintthis[Stringday]

{

get

{

return(GetDay(day));

}

}

publicstringthis[inti]

{

get

{

return(days[i]);

}

}

publicstringthis[stringday,inti]

{

get

{

return(GetDay(day)+days[i]);

}

}

初始化:

参数为字符串:

参数为整型:

参数为两个:

五、实验结果

1.执行以下命令:

结果为:

2.执行以下命令:

得到的结果为:

六、总结

经过此次的实验,我对类的定义及其成员的应用有了更深的了解,对索引器的使用也有了一定的认识,为以后学习奠定了基础。

福建农林大学计算机与信息学院实验报告

系:

计算机专业:

年级:

姓名:

学号:

实验室号_______计算机号

实验时间:

指导教师签字:

成绩:

实验2委托与事件

七、实验目的和要求

一:

利用委托实现一个客户端/服务器简单聊天程序

二:

利用事件实现一个客户端/服务器简单聊天程序

八、实验内容和原理

实验内容一:

利用委托实现一个客户端/服务器简单聊天程序

步骤:

创建新项目,并命名为DelegateChatSolution。

1创建基于委托的聊天服务器类

1)创建聊天服务器类,命名为DChatServer

2)在DchatServer类内声明一个委托,当聊天消息到达时,委托将调用在客户端的回调函数。

A将委托命名为OnMsgArrived。

B将这个委托声明为public,无返回类型,带有一个string类型的参数。

3)创建不包含具体实现代码的构造函数

4)定义一个字段来存储已连接客户端的委托

A将字段命名为mOnMsgArrived

B将字段定义为OnMsgArrived委托类型的一个static引用。

5)定义有客户端调用的连接客户端和服务器的方法

A将方法命名为ClientConnect

B将方法声明为publicstatic无返回类型

C包含一个OnMsgArrived类型的参数。

D创建方法的具体实现:

使用委托的Combine方法将这个新委托添加到已经存储在mOnMsgArrived调用列表的委托中。

6)执行下面的步骤,定义一个由客户端调用的,用来断开客户端与服务器的方法

A将方法命名为ClientDisconnect

B声明方法为publicstatic无返回类型

C与ClientConnect具有同样的签名

D方法的具体实现:

使用委托的Remove方法从mOnMsgArrived调用列表中删除委托。

7)执行下面的步骤,定义一个发送指定消息给所有已连接的客户端的方法,其中某个客户端可能会有异常

A将方法命名为SendMsg

B声明为publicstatic无返回类型

C两个参数:

一个string类型的消息,一个object类型的参数表示被排除的客户端。

D具体实现:

如果被排除客户参数是null,那么将调用多路广播委托给所有的客户端发送消息;如果被排除的客户端参数不是null,那么在mOnMsgArrived委托的调用列表中进行迭代,并且只调用那么与被排除的客户端参数不匹配的委托。

2创建基于委托的聊天客户端类

1)创建聊天客户端类,命名为DChatClient

2)在DChatClient类内实现一个回调方法,当服务器接收到聊天消息时,将通过委托调用该方法。

A将方法命名为OnMsgArrived

B声明为private无返回类型

C只接受一个string类型的参数

D具体实现:

把客户端的名字和字符串参数输出到控制台

3)添加一个私有字段clientName

4)添加一个构造函数,参数为客户端名

具体实现:

客户端名存储在clientName字段;通过调用服务器的ClientConnect方法将客户端链接到服务器上。

其中,由于ClientConnect方法的参数是委托类型,因此传递给此方法是委托的一个实例,这个实例应用客户端的内定义的回调方法去实例化。

3创建基于委托的聊天应用代码

1)在program类(默认),创建一个名为DelegateChatServerDemo的静态方法。

2)向控制台输出一行文本,显示程序开始。

3)实例化3个DChatClient对象,将客户端名“1”、“2”、“3”传递给构造函数。

4)调用DChatServer的静态方法SendMsg向服务器发送消息。

改消息应该被发送给所有的客户端。

5)发送第二个消息给除客户端2以外的所有客户端。

6)向控制台上发送一行文本,显示程序结束。

7)在Main函数中调用DelegateChatServerDemo。

4编译和测试程序,并查看运行结果。

实验内容二:

利用事件实现一个客户端/服务器简单聊天程序

编写事件的一般步骤

1)定义事件的委托类型

2)定义包含事件信息的类

3)创建包含事件的类

A.定义事件

B.定义激活事件的成员

4)定义事件的处理程序

5)关联事件和事件的处理程序

6)激活事件

九、实验环境

计算机及VS2008

一十、调试过程

调试通过!

一十一、实验结果

实验一

部分代码:

添加和删除用户

输出结果:

实验二

部分代码:

屏蔽特定用户

输出结果:

一十二、总结

通过此次实验,我对委托于事件的使用有了一定的了解,但还是需要通过不断的练习和学习,来巩固并进一步掌握它。

福建农林大学计算机与信息学院实验报告

系:

计算机专业:

年级:

姓名:

学号:

实验室号_______计算机号

实验时间:

指导教师签字:

成绩:

实验三Windows应用程序设计

一、实验目的

掌握界面设计的实现方法

二、实验内容

仿真资源管理器——界面设计操作

三、实验步骤及环境

环境:

计算机及VS2008

1创建新项目,模板选择“Windows应用程序”,名称命名为MyExplorer。

1)在解决方案资源管理器中,将“Form1.cs”重命名为“FrmExplorer.cs”,在弹出的对话框,单击“是”按钮。

2)设置FrmExplorer窗体的Text为“”;StartPosition为“ScreenCenter”;icon属性设置为ICON目录下的“FOLDER.ICO”。

2从工具箱的菜单和工具栏中,拖一个MenuStrip1,设置Name属性为mnMainMenu;RenderMode属性为“System”。

根据windows自带的资源管理中的菜单,完成本实验菜单的设计。

3从工具箱的菜单和工具栏中,拖一个ToolStrip1,设置Name属性为tsMainTool;RenderMode属性为“System”;StripStyle为“Hidden”;ImageScalingSize为“32,32”。

1)选择tsMainTool工具的下拉按钮,选择“Button”,设置Name属性为“tsbtnBack”;DisplayStyle属性为“ImageAndText”,Image属性为ICON目录下的“L_arrow.bmp”;Text属性为“后退”。

2)选择tsMainTool工具的下拉按钮,选择“Button”,设置Name属性为“tsbtnNext”;DisplayStyle属性为“ImageAndText”,Image属性为ICON目录下的“R_arrow.bmp”;Text属性为“前进”。

3)选择tsMainTool工具的下拉按钮,选择“Button”,设置Name属性为“tsbtnBack”;DisplayStyle属性为“Image”,Image属性为ICON目录下的“BackFolder.gif”。

4)选择tsMainTool工具的下拉按钮,选择“Separator”。

5)选择tsMainTool工具的下拉按钮,选择“Button”,设置DisplayStyle属性为“ImageAndText”,Image属性为ICON目录下的“Search.gif”;Text属性为“搜索”。

6)选择tsMainTool工具的下拉按钮,选择“Button”,设置DisplayStyle

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1