C#net程序设计实验指导书资料.docx
- 文档编号:23628829
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:62
- 大小:736.85KB
C#net程序设计实验指导书资料.docx
《C#net程序设计实验指导书资料.docx》由会员分享,可在线阅读,更多相关《C#net程序设计实验指导书资料.docx(62页珍藏版)》请在冰豆网上搜索。
C#net程序设计实验指导书资料
《C#.net程序设计》
李旗编撰
闽江学院计算机实验教学中心印制
2010.8
实验一.Net框架和VisualStudio应用模式
一、实验目的
1.了解VisualStudio2008(或2005)开发环境和.Net框架。
2.了解VisualStudio2008(或2005)的主要应用模式及其程序框架。
内容包括:
提出一个简单的问题(如计算园面积),体验不同应用模式(控制台应用程序,windows窗体应用程序,类库、ASP.NETWeb应用程序的交互界面和方式和程序框架。
3.了解.Net框架和VisualStudio2008(或2005)不同应用模式的代码运行的入口和相互调用关系。
二、实验环境
1.PC机,windowsXP操作系统,Visualstudio2005(或2008),Sqlserver2005。
三、实验内容
1.模仿计算面积综合方案,创建一个新的解决方案,包含完全功能类似的不同类型应用模式项目。
2.模仿计算面积综合方案,创建一个解决方案使用不同类型应用模式解决计算园面积,球体积两个问题(至少包含四种应用程序项目类型:
控制台应用程序,windows应用程序,类库,web应用程序),以及两种解决方法(面向对象和非面向对象。
四、实验步骤,观察与记录及结果
1.模仿计算面积综合方案,创建一个新的解决方案,包含完全功能类似的不同类型应用模式项目。
步骤
(1):
下载计算面积综合方案.rar,并解压,然后使用VisualStudio打开“计算面积综合方案”解决方案,选择控制台应用程序“ConsoleArea”作为启动项目,熟悉控制台应用程序项目的代码文件组成,按F10或F11逐步调试运行,理解代码运行的入口开始及结束。
步骤
(2):
模仿“计算面积综合方案”解决方案,创建一个新的解决方案及新的控制台应用程序项目,包含功能完全类似ConsoleArea的控制台应用程序项目。
该项目使用非面向对象方式解决计算园面积。
操作界面:
学生代码:
学生操作结果界面:
步骤(3):
模仿“计算面积综合方案”解决方案"WindowArea"Windows应用程序项目,在解决方案添加一个新的Windows应用程序项目,包含功能完全类似WindowArea的Windows应用程序项目。
该项目使用非面向对象方式解决计算园面积。
需要理解windows应用程序的事件驱动原理及代码如何实现窗体和按钮的事件驱动。
操作界面:
学生代码:
学生操作结果界面:
步骤(4):
模仿“计算面积综合方案”解决方案"ConsoleAreaObject"控制台应用程序项目,在解决方案添加一个新的控制台应用程序项目,包含功能完全类似"ConsoleAreaObject"控制台应用程序项目,ConsoleAreaObject项目采用面向对象编程方法。
需要理解面向对象编程与非面向对象编程的区别,及如何实现面向对象编程,Circle类是如何建立在circle.cs中。
操作界面:
学生代码:
学生操作结果界面:
步骤(5):
模仿“计算面积综合方案”解决方案"WindowsAreaObject"Windows应用程序项目,在解决方案添加一个新的Windows应用程序项目,包含功能完全类似"WindowsAreaObject"Windows应用程序项目,WindowsAreaObject项目采用面向对象编程方法。
需要理解面向对象编程与非面向对象编程的区别,及如何实现面向对象编程,Circle类是如何建立在circle.cs中。
操作界面:
学生代码:
学生操作结果界面:
步骤(6):
模仿“计算面积综合方案”解决方案"ClassLibArea"类库项目,该ClassLibArea类库包含circle.cs文件(Circle类),在解决方案添加一个新的类库项目,包含功能完全类似"ClassLibArea"Windows类库项目。
usingSystem;
namespaceClassLibArea
{
publicclassCircle
{
doublecircleR;//字段半径
publicCircle(doubledblR)//构造函数
{
circleR=dblR;//初始化字段半径
}
publicdoubleCircleArea()//计算圆面积实例方法
{
doubledblArea=Math.PI*circleR*circleR;//表达式,赋值语句
returndblArea;
}
publicstaticdoubleStaticCircleArea(doubledblR)//计算圆面积静态方法
{
doubledblArea=Math.PI*dblR*dblR;
returndblArea;
}
}
}
学生操作结果界面:
步骤(7):
模仿“计算面积综合方案”解决方案"WindowsAreaUsingLib"Windows应用程序项目,该项目不在自身项目建circle类,而是调用ClassLibArea"类库项目中的circle类。
在解决方案添加一个新的Windows应用程序项目,包含功能完全类似"WindowsAreaUsingLib"Windows应用程序项目,该项目需要添加WindowsAreaUsingLib项目引用。
操作界面:
学生代码:
学生操作结果界面:
步骤(8):
模仿“计算面积综合方案”解决方案"WebArea"AWeb应用程序项目,同样调用ClassLibArea"类库项目中的circle类。
在解决方案添加一个新的AWeb应用程序项目,包含功能完全类似"WebArea"AWeb应用程序项目,该项目需要添加WindowsAreaUsingLib项目引用。
操作界面:
学生代码:
学生操作结果界面:
程序项目压缩文件:
2.模仿计算面积综合方案,创建一个解决方案使用不同类型应用模式解决计算园面积,球体积两个问题(至少包含四种应用程序项目类型:
控制台应用程序,windows应用程序,类库,web应用程序),以及两种解决方法(面向对象和非面向对象。
步骤
(1):
在前一任务创建的解决方案的各个项目基础上,修改,添加计算球体积的代码。
学生代码:
学生操作结果界面:
程序项目压缩文件:
五、实验练习,观察与记录及结果
步骤
(1):
在前一任务创建的解决方案的各个项目基础上,修改,添加计算立方体体积的代码。
学生代码:
学生操作结果界面:
程序核心代码:
程序项目压缩文件:
六、相关知识
命名空间(Namespace)的宗旨是为各种标识符(如类名)创建一个已命名的容器。
同名的两个类如果在不同的命名空间中,相互是不会混淆的。
访问一个类型有两种方法:
使用该类型的完全限定名和不使用完全限定名。
使用该类型的完全限定名,例如Console类是System命名空间的,使用Console类的方法WriteLine来输出消息到屏幕的代码如下:
System.Console.WriteLine("欢迎使用C#");不使用完全限定名:
大多数C#应用程序从一个using指令节开始,即使用using关键字+命名空间列出应用程序将会频繁使用的命名空间,避免每次使用其中包含的方法时都要指定完全限定的名称。
通过在程序开头包括行:
usingSystem;程序中可以使用Console类的不完全限定名,而无需使用完全限定名System.Console。
代码如下:
Console.WriteLine("欢迎使用C#");
实验二数据类型(值类型、引用类型)
一、实验目的
1.熟悉值类型(整数类型,布尔类型,字符类型,实数类型,枚举类型,结构类型)。
2.了解引用类型(类,数组,Delegate委托,interface接口)。
3.了解类型转换(隐式类型转换,显式类型转换)和Convert类,装箱和拆箱。
4.熟悉string和StringBuilder类,字符串string参数格式化,DateTime结构。
二、实验环境
1.PC机,windowsXP操作系统,Visualstudio2005(或2008),Sqlserver2005。
三、实验内容
1.熟悉string和StringBuilder类,字符串string参数格式化,DateTime结构,枚举类型。
2.熟悉引用类型中的数组(静态数组,动态数组)。
3.熟悉引用类型中的类:
包含数据成员(字段等)和方法成员(方法、属性、构造函数等)。
了解,结构,以及类与结构的区别。
4.熟悉类型转换(隐式类型转换,显式类型转换)和Convert类
5.熟悉引用类型中的委托,类似C的函数指针。
四、实验步骤,观察与记录及结果
1.熟悉string和StringBuilder类,字符串string参数格式化,DateTime结构,枚举类型。
步骤
(1):
下载“第二章数据类型.rar”,并解压,然后使用VisualStudio打开“StringFormat.sln”解决方案,熟悉不同值类型的字符串格式。
运行程序观察运行结果与代码的关系。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤
(2):
然后使用VisualStudio打开“DateTimeSample.sln”解决方案,熟悉DateTime结构类型的有关时间编程。
运行程序观察运行结果与代码的关系。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤(3):
使用VisualStudio打开“StringBuilderSample.sln”解决方案,熟悉StringBuilder类的编程。
运行程序观察运行结果与代码的关系。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤(4):
使用VisualStudio打开“EnumTest.sln”解决方案,熟悉枚举类型的编程。
运行程序观察运行结果与代码的关系。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
程序核心代码:
程序项目压缩文件:
2.熟悉引用类型中的数组(静态数组,动态数组)。
步骤
(1):
使用VisualStudio打开“ArraysSample.sln”解决方案,熟悉数组(静态数组,动态数组)的编程。
运行程序观察运行结果与代码的关系。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
程序核心代码:
程序项目压缩文件:
3.熟悉引用类型中的类:
包含数据成员(字段等)和方法成员(方法、属性、构造函数等)。
了解,结构,以及类与结构的区别。
步骤
(1):
使用VisualStudio打开“StudentClass.sln”解决方案,熟悉类的数据成员(字段)、方法成员(方法、属性、构造函数)和继承。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤
(2):
使用VisualStudio打开“VehicleClass.sln”解决方案,熟悉类的继承。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤(3):
使用VisualStudio打开“Structs.sln”解决方案,熟悉结构的编程,以及类与结构的区别。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
程序核心代码:
程序项目压缩文件:
4.熟悉类型转换(隐式类型转换,显式类型转换)和Convert类
步骤
(1):
使用VisualStudio打开“ConvertSample.sln”解决方案,熟悉类型转换(隐式类型转换,显式类型转换)和Convert类的编程。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
程序核心代码:
程序项目压缩文件:
5.熟悉引用类型中的委托,类似C的函数指针。
步骤
(1):
使用VisualStudio打开“DelegateVolumn.sln”解决方案,熟悉委托的编程。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
程序核心代码:
程序项目压缩文件:
五、实验练习,观察与记录及结果
步骤
(1):
使用VisualStudio打开“InterfaceSample.sln”解决方案,熟悉接口的编程。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤
(2):
使用字符串string类的常用方法编程,这些方法包括:
Trim():
从开始位置和末尾移除空白字符。
SubString():
用于从指定的字符位置开始且具有指定的长度取子字符串。
Replace():
将指定String的所有匹配项替换为其他指定的String。
strings3="VisualC#Express";
Console.WriteLine(s3.Trim());//输出"VisualC#Express"
Console.WriteLine(s3.Substring(7,2));//输出"C#"(从第7个字符开始,2个字符)
Console.WriteLine(s3.Replace("C#","Basic"));//输出"VisualBasicExpress"(替换字符)
ToCharArray()方法将字符串复制到字符数组:
strings4="Hello,World";
char[]arr=s4.ToCharArray(0,s4.Length);
使用索引[]访问字符串中的各个字符:
strings5="Runningbackwards";//s5[0]=’R’,s5[4]=‘i’
charc=s5[3]);//c=‘n’
ToUpper()或ToLower()将字符串中的字母更改为大写或小写:
strings6="AbCdEf";
System.Console.WriteLine(s6.ToUpper());//输出"ABCDEF"
System.Console.WriteLine(s6.ToLower());//输出"abcdef"
IndexOf()在一个字符串中搜索另一个字符串。
如果未找到搜索字符串,IndexOf()返回-1;否则,返回它出现的第一个位置的索引(从零开始)。
strings9="BattleofHastings,1066";
System.Console.WriteLine(s9.IndexOf("Hastings"));//outputs10
System.Console.WriteLine(s9.IndexOf("1967"));//outputs-1
Split()方法使用分隔符(如空格字符)char数组,并返回一个子字符串数组。
char[]delimit=newchar[]{''};//分号之间有空格
strings10="Thecatsatonthemat.";
string[]strs=s10.Split(delimit);//字符串数组{"The","cat","sat","on","the","mat."}
学生代码:
学生操作结果界面:
程序核心代码:
程序项目压缩文件:
六、相关知识
is运算符、as运算符is表达式的一般格式为:
变量(表达式)is数据类型,is是检查对象是否与给定类型兼容,如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则is表达式的计算结果将是true。
例如:
Console.WriteLine(1isint);//trueConsole.WriteLine(1isfloat);//falseas运算符类似于强制转换,用于在兼容的引用类型之间执行转换。
所不同的是,当转换失败时,运算符将产生空,而不是引发异常。
更严格地说,这种形式的表达式expressionastype等效于expressionistype?
(type)expression:
(type)null。
比如:
strings=‘a’asstring;//s=null
typeof运算符、sizeof运算符typeof运算符可以获得指定类型的System.Type对象。
typeof表达式的一般格式为:
typeof(类型)。
例如:
System.Typetype=typeof(int);inti=0;System.Typetype=i.GetType();sizeof运算符用于获取值类型在内存中占的字节大小。
sizeof表达式的一般格式为:
sizeof(变量类型),这个表达式的结果是一个整数,代表变量所占的字节数。
例如sizeof(int)是4。
实验三流程控制与异常处理
一、实验目的
1.熟悉选择语句(if语句和switch语句)
2.熟悉循环语句(while,do-while,for,foreach循环语句)
3.熟悉跳转语句(break,continue,return,goto语句)
4.熟悉异常处理(try-catch-Finally)和throw语句
二、实验环境
1.PC机,windowsXP操作系统,Visualstudio2005(或2008),Sqlserver2005。
三、实验内容
1.熟悉选择语句(if语句和switch语句)
2.熟悉循环语句(while,do-while,for,foreach循环语句),跳转语句(break,continue,return,goto语句)。
3.熟悉异常处理(try-catch-Finally)和throw语句
四、实验步骤,观察与记录及结果
1.熟悉选择语句(if语句和switch语句)
步骤
(1):
下载“第三章流程控制与异常处理.rar,并解压,然后使用VisualStudio打开“SwitchSample.sln”解决方案,运行"IfSample"项目程序观察运行结果与代码的关系,主要掌握各种if语句的编程。
然后模仿该解决方案,创建一个新的解决方案,包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤
(2):
使用VisualStudio打开“SwitchSample.sln”解决方案,运行"SwitchSample"项目程序观察运行结果与代码的关系,主要掌握switch语句的编程。
然后模仿该项目,创建在上一步创建的解决方案中添加包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
程序项目压缩文件:
2.熟悉循环语句(while,do-while,for,foreach循环语句),跳转语句(break,continue,return,goto语句)。
步骤
(1):
使用VisualStudio打开“WhileSample.sln”解决方案,运行"WhileSample"项目程序观察运行结果与代码的关系,主要掌握while,for语句的编程,以及跳转语句break,continue,return的使用。
然后模仿该项目,创建在上一步创建的解决方案中添加包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤
(2):
使用VisualStudio打开“WhileSample.sln”解决方案,运行"ForeachSample"项目程序观察运行结果与代码的关系,主要掌握foreach语句的编程。
然后模仿该项目,创建在上一步创建的解决方案中添加包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
步骤(3):
使用VisualStudio打开“WhileSample.sln”解决方案,运行"GotoSample"项目程序观察运行结果与代码的关系,主要掌握goto语句的编程,尽量少用goto语句,这将破坏结构化编程。
然后模仿该项目,创建在上一步创建的解决方案中添加包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
程序项目压缩文件:
3.熟悉异常处理(try-catch-Finally)和throw语句
步骤
(1):
使用VisualStudio打开“TryCatch.sln”解决方案,运行"TryCatch"项目程序观察运行结果与代码的关系,主要掌握try,catch,finally以及throw语句的编程。
然后模仿该项目,创建在上一步创建的解决方案中添加包含完全功能类似的控制台应用程序项目。
学生代码:
学生操作结果界面:
程序项目压缩文件:
五、实验练习,观察与记录及结果
步骤
(1):
模仿“WhileSample.sln”解决方案ComputePrime项目,编写个类似的程序,但添加错误处理功能,可以处理当最小整数和最大整数输入不是整数时的错误处理。
学生代码:
学生操作结果界面:
程序项目压缩文件:
六、相关知识
throw语句可以以两种不同的方式引发异常:
C#语句和表达式执行过程中激发了某个异常的条件使得操作无法正常结束从而引发异常,如整数除法操作分母为零时将抛出一个System.DivideByZeroException异常等。
throw语句无条件主动抛出异常。
throw语句用于在程序执行期间主动发出异常的信号。
throw语句格式:
throw;或throwexpression;其中expression是System.Exception类或派生类的对象。
throw语句例子:
classMyException:
System.Exception{…}
thrownewMyException();
if(s==null){
thrownewArgumentNullException();
}
实验四数组、集合和泛型集合
一、实验目的
1.熟悉数组Array
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- net 程序设计 实验 指导书 资料