您好,欢迎访问三七文档
1《C#应用程序设计教程》2本课程的前序课程:大学本专科计算机导论本课程主要讲述内容:Windows客户端应用程序设计3本书详细内容第1章简单程序设计第2章数据类型第3章C#面向对象编程基础第4章程序调试与异常处理第5章C#可视化编程基础第6章常用控件和类的使用第7章文本编辑器的实现第8章图形图像编程第9章文件和流第10章多线程和Socket编程初步第11章数据库与ADO.NET4C#及VisualStudio开发工具介绍•C#2000年C#诞生2001年C#被ECMA(欧洲计算机制造者协会)规定为高级语言开发标准(ECMA-334)2003年C#被ISO(国际标准化组织)规定为高级语言开发标准(ISO/IEC23270)•VS开发工具2003年发布VisualStudio.NET2003(VS.NET2003)2005年11月发布VisualStudio2005(VS2005)英文版2006年1月发布VS2005Professional简体中文版5•VS2005的各种版本(功能从最强到最弱)VS2005Team版本用于大型团队开发VS2005Professional版本用于大中型软件公司VS2005Standard版本用于小型软件公司VS2005Express版本用于业余开发者(初学者)•本课的上机实验环境VS2005Express版本•安装建议(1)操作系统使用WindowsXPSP2(2)至少256MB内存,最好512MB6第1章简单程序设计Microsoft.NetFrameWork(微软.Net架框,以下简称.NetFrameWork)是微软提出的新一代软件开发模型,是一种面向网络、支持各种用户终端的开发平台环境,是生成、部署和运行所有.NET应用程序的基础。它包括以下2个主要部分。1.1.NET平台简介71.1.1公共语言运行环境公共语言运行环境(CommonLanguageRuntime,简称CLR)是.NET框架的基础。.NET源程序首先被编译为微软中间语言(MicrosoftIntermediateLanguage,简称MSIL)代码,形成扩展名为.exe或.dll文件,MSIL定义了一系列与CPU类型无关的可移植指令集,可在CLR中运行。扩展名为exe或dll的可执行文件运行时,CLR同时运行。MSIL语言代码不是CPU可执行的机器码,CLR中的JIT编译器(JustInTime)负责将MSIL代码翻译成机器代码在CPU中运行,由CLR来管理.NET应用程序的运行,CLR提供内存管理、线程管理、远程管理等服务,并对程序代码的安全和可靠性把关。可编写在任意指定操作系统中运行的CLR,凡是使用符合公共语言规范(CommonLanguageSpecification,CLS)的语言开发的程序均可在其上运行。因此,.NET源程序具有平台无关性。81.1.2框架类库为了提高开发效率,各种开发平台都为用户提供工具类库,如C++的MFC、JAVA的WFC、VB的VBRUN等。.NET框架提供了一个统一的、面向对象的、层次化的可扩展编程接口:框架类库(FrameworkClassLibraries,FLC),使得开发人员可以在.NET环境下使用各种不同的语言来进行应用开发。按照应用领域的不同,.NET将类库划分为四个部分:9•基本类库:提供输入/输出、字符串操作、安全性管理、网络通信、文本管理等标准功能。•ADO.NET:数据库访问及XML类。•ASP.NET:Web服务和Web窗体,用来建立强大的Web应用程序。•Windows窗体类:Windows窗体支持的一组类,用于开发基于Windows的图形用户界面应用程序。总之,.NET开发框架在公共语言运行时的基础上,为开发者提供了完善的类库,开发者可使用多种语言及VisualStudio开发工具来快速构建下一代的网络应用。101.2C#语言特点Microsoft.NetFrameWork是微软提出的新一代软件开发模型C#语言是.NetFrameWork中新一代的开发工具C#语言编写的源程序,被C#语言编译器编译为中间语言代码(MSIL),由通用语言运行环境(CLR)中的既时编译器(JIT)将中间语言代码翻译为CPU可执行的机器码,由CPU执行11CLR为C#语言中间语言代码运行提供了一种运行时环境,C#语言的CLR和JAVA语言的虚拟机类似。这种执行方法使运行速度变慢,但带来其他一些好处,主要有:通用语言规范自动内存管理交叉语言处理更加安全版本支持完全面向对象121.3编写控制台应用程序【例1.1】程序的代码如下://在屏幕输出一行欢迎信息,从第一个//开始到本行结束是解释usingSystem;//引用命名空间SystemnamespaceMyApplication//声明命名空间MyApplication{classTest//class是关键字,表示定义一个类,Test是类名//主函数(方法)Main,必须是静态的{staticvoidMain(string[]args)//语句,调用方法WriteLine输出字符{Console.WriteLine(欢迎使用C#!);}}}//大括号必须成对出现13用微软VisualC#2005ExpressEdition(以后简称VS2005)生成控制台程序,具体步骤如下:(1)运行VS2005程序,单击菜单“文件(F)|新建项目(P)…”菜单项,打开“新建项目”对话框如下图。在模板(T)列表框中选择控制台应用程序,单击确定按钮,创建项目。14(2)出现如下图界面,按图中那样修改Program.cs文件。编写一个应用程序可能包含多个文件,才能生成可执行文件,所有这些文件的集合叫做一个项目,项目名称可以是任何标识符,本项目名称为ConsoleApplication1。1516(3)按CTRL+F5键,运行程序,运行结果如图1.3。需要注意的是,和以往使用过的绝大多数编译器不同,C#编译器只执行编译过程,不经过链接直接生成扩展名为.exe的可执行文件或扩展名为.dll的动态链接库,C#编译器中不包含链接器。17(4)单击菜单文件(F)|全部保存(L)菜单项,打开保存项目对话框,在名称(N)编辑框中键入保存的项目文件名称:控制台程序,在解决方案名称(M)编辑框中键入保存的解决方案名称:例1_1。单击位置(L)编辑框后的浏览(B)按钮,选择保存的文件的路径,在该路径下将创建文件夹例1_1,项目的所有文件都保存到这个文件夹下。这里请注意,必须保存项目的所有文件,将来才能重新打开项目。如仅保存Program.cs,将不能重新打开项目。181.4程序结构C#程序结构是指构成应用程序的必要元素,包括程序组成要素、语法规则及书写格式等。1.4.1C#程序的组成要素例1.1是一个简单的控制台应用程序,其功能是在屏幕上输出一行字:欢迎使用C#!。分析这个程序,可以看出C#程序有命名空间、类和方法、语句和大括号等组成要素。191.标识符标识符是程序中为一些要素所定义的名称,如例1.1中的命名空间名MyApplication、类名Test、方法名Main等。程序中所有定义的标识符都有实际意义是很好的编程习惯。标识符命名时必须遵循如下命名规则:•由字母、数字、下划线_组成,C#语言中标志符允许包含中文字符。•第一个字符必须是字母、中文字符或下划线,不能是数字或除下划线外的特殊字符。•C#对字母大、小写敏感,两个标识符即使只是对应字母大、小写不同,也是不同的标识符,这点和VB语言不同。•标识符不能与关键字同名。20如例`1.1程序中的MyApplication、Test、Main等都是合法的标识符。而下面的标识符都是非法标识符。2example//非法起始字符,起始字符不能是数字#200//非法起始字符,起始字符不能是特殊字符Hello*//含有非法字符“*”,标识符中不能有“*”if//if是关键字,关键字不能作为标识符HelloWorld//含有非法字符空格标识符中不能有空格212.关键字在C#代码中的关键字是由C#语言定义并使用的具有特定意义的字符串,它们不能在程序中用作标识符。在VS2005环境的代码视图中关键字默认以蓝色显示。如例1.1代码中的using、namespace、class、static、void等,均为C#的关键字。3.类和方法C#语言用类来组织程序的变量和方法,所有变量和方法必须定义在一个类中。例`1.1程序ClassTest{}语句定义了一个名为Test的类,其中关键字Class表示定义一个类,Test是类名。在类Test中声明了一个名为Main的方法,用来指示应用程序从该处开始执行。C#要求每个程序必须且只能有一个Main方法,该方法必须是静态的(用static修饰),所谓静态方法表示程序运行后,该方法就已存在,可以使用,Main方法必须放在某一个类中。类中还可以定义其他方法。有关类和方法的详细内容将在后面章节详细介绍。224.命名空间命名空间是C#语言提供的对类库程序和程序员编写的程序分层组织方式,不同程序代码可以分类放到不同的命名空间中,为使用和维护这些程序提供了方便,使用命名空间的另一个原因是减少程序中标志符同名的可能性,不同命名空间中的标志符可以同名,同一命名空间中的标志符不能同名。命名空间有两种,一种是系统预定义的命名空间,它提供系统预定义的基本数据类型和程序代码,供设计程序时使用,由using关键字导入。如例1.1程序中“usingSystem;”语句,就导入了System命名空间,它提供了构建应用程序时所需要的所有系统功能,代码中的“Console.WriteLine”就是该命名空间提供的Console类(控制台类)中定义的在屏幕输出一行字符的方法WriteLine。在创建项目时,VS2005会自动生成导入该命名空间的代码,并且放在程序的第一行。23另一种是用namespace关键字声明的用户自定义命名空间,例1.1中的“MyApplication”就是用户自定义命名空间。全局命名空间应是源文件using语句后的第一条语句。在一个命名空间声明中还可以声明该命名空间的子命名空间。在同一命名空间中,不允许出现同名命名空间成员或同名的类。例子如下:usingSystem;namespaceN1{namespaceN2//命名空间N1的子命名空间成员N2{classA//在N2命名空间定义的类不应重名{staticvoidf1(){};}classB{staticvoidf2(){};}}24也可以采用非嵌套的语法来实现以上命名空间:namespaceN1.N2//类A、B在命名空间N1.N2中{classA{staticvoidf1(){};}classB{staticvoidf2(){};}}不同文件中的程序,如果使用相同命名空间名称声明,表示这些程序在同一个命名空间中。如在一个程序中,需引用其他命名空间的类或函数,可以使用语句using,例如需使用上边定义的方法f1()和f2(),可以采用如下代码:25usingN1.N2;classWelcomeApp{A.f1();}usingN1.N2是告诉应用程序到哪里找到类A。如果不使用using语句,应使用如下形式:classWelcomeApp//表示类A在命名空间N1.N2中{N1.N2.A.f1();}命名空间声明不是必须的,例如在上述程序中,可以不声明“MyApplication”这一用户自定义命名空间,程序照样可以正常运行,系统将所定义的程序放到默认的命名空间中。但在实际的程序开发过程中,一个程序往往由许多模块组成,使用命名空间有利于程序的组织和管理。265.语句语句就是C#程序中执行操作的指令。在C#语言语句必须用分号;结束,这也是与VB不同的地方。可以一行上书写多条语句,也可以将一条语句书写在多行上。当语句中包含不同层次的内容时,C#用点“.”操作符表示从属关系。比如例1.1代码第6行通常应该写成如下形式:System.Co
本文标题:C#简单程序设计
链接地址:https://www.777doc.com/doc-7026055 .html