1. 首页
  2. 课程学习
  3. 讲义
  4. C#.NET程序设计

C#.NET程序设计

上传者: 2019-05-14 03:23:52上传 PDF文件 3.34MB 热度 20次
C#.NET程序设计 PDF 黎浩宏第一章语言基础本章介绍语言的基础知识,希望具有语言基础的读者能够基本掌握语言,并以此为基础,能够进一步学习用语言编写应用程序和应用程序。当然仅靠一章的内容就完全掌握语言是不可能的,如需进一步学习语言,还需要认真阅读有关语言的专著。语言特点Microsoft.Net以下简称、Net框架是微软提出的新一代软件开发模型,语言是框架中新一代的廾发工具。语言是一种现代的、面向对象的语言,它简化了语言在类、命名空间、方法重载和异常处理等方面的操作,它摒弃了的复杂性,更易使用,更少出错。它使用组件编程,和一样容易使用。语法和语法非常相似,如果读者用过和,学习语言应是比较轻松的。用语言编写的源程序,必须用语言编译器将源程序编译为中间语言 MicrosoftIntermediate language代码,形成扩展名为或文件。中间语言代码不是可执行的机器码,在程序运行时,必须由通用语言运行环境中的既时编译器将中间语言代码翻译为可执行的机器码,由执行。为语言中间语言代码运行提供」一种运行时环境,语言的和语言的虚拟机类似。这种执行方法使运行速度变慢,但带来其它一些好处,上要有:通用语言规范:.Net系统包括如下语言、,他们都遵守通用语言规范。任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,由负责执行。只要为其它操作系统编制相应的中间语言代码也可在其它系统中运行。●自动内存管理内建垃圾收集器,当变量实例的生命周期结束时,垃圾收集器负责收回不被使用的实例占用的内存空间。不必像和语言,用语句在堆中建立的实例,必须用语句释放实例占用的内存空间。也就是说,具有自动内存管理功能。交叉语言处理:由于任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,不同语言设计的组件,可以互相通用,可以从其它语言定义的类派生出木语言的新类。由于中间语言代码由负责执行,因此异常处理方法是一致的,这在调试种语言调用另一种语言的子程序时,显得特别方便●更加安全:语言不支持指针,一切对内存的访问都必须通过对象的引用变量来实现,只允许访问内存中允许访问的部分,这就防止病毒程序使用非法指针访问私有成员,也避免指针的误操作产生的错误。执行中间语言代码前,要对中问语言代码的安全性、完整性进行验证,防止病毒对中间语言代码的修改版本支持:系统中的组件或动态联接库可能要升级,由于这些组件或动态联接库都要在注册表中注册,由此可能带来一系列问趣,例如,安装新程序时自动安装新组件替换旧组件,有可能使某些必须使用旧组件才可以运行的程序,使用新组件运行不了。在.Net中这些组件或动态联接库不必在注册表中注册,每个程序都可以使用自带的组件或动态联接库,只要把这些组件或动态联接库放到运行程序所在文件夹的子文件夹中,运行程序就自动使用在文件夹中的组件或动态联接库。由于不需要在注册表中注册软件的安装也变得容易了,一般将运行程序及库文件拷贝到指定文件夹中就可以了●完全面向对象:不象语言,即支持面向过程程序改计,又支持血向对象程序设计,语言是完全面向对象的,在中不再存在全局函数、全区变量,所有的函数、变量和常量都必须定义在类中,避免了命名冲突。语言不支持多重继承。编写控制台应用程序在操作系统中运行的程序被称作程序。在及以后的操作系统中操作系统运行后,作为的一个仟务,在其屮运行的稈序被称作控制台应用程序。由于程序也可以以这种方式在下运行,也被称作控制台应用程序。本节介绍编写控制台应用程序的方法。使用命令行工具编写控制台程序第一个程序总是非常简单的,程序首先让用户通过键盘输入自己的名字,然后程序在屏幕上打印一条欢迎信息。程序的代码是这样的using System;//导入命名空间。//为C#语言新增解释方法,解释到本行结束class Welcome//类定义,类的概念见下节{/*解释开始,和C语言解释用法相同解释结束*/static void main(//主程序,程序入口函数,必须在一个类中定义Console. Writeline("请键入你的姓名:");/控制台输出字符串Console. Readline(;//从键盘读入数据,输入回车结束Console. Writeline("欢迎!");可以用仟意一种文本编辑软件完成上述代码的编写,然后把文件存盘,假设文件名叫做welcome.cs,C#源文件是以cs作为文件的扩展名。和C语言相同,C#语言是区分大小写的高级语言总是依赖于许多在程序外部顶定义的变量和函数。在C或C+中这些定义一般放到头文件中,用# include语句来导入这个头文件。而在C#语言中使用 uSIng语句导入命名空间,using System语句意义是导入 System命名空间,C#中的usin语句的用途与C中# include语句的用途基本类似,用于导入预定义的变量和函数,这样在自己的程序中就可以自由地使用这些变量和函数。如果没有导入命名空间的话我们该怎么办呢?程序还能保持正确吗?答案是肯定的,那样的话我们就必须把代码改写成下面的样子:class WelcomeI static void MainO{ System. Console. Writeline("请键入你的姓名:");System. Console. ReadLine oSystel. Console. Writeline("欢迎!")也就是在每个 Console前加上一个前缀 System.,这个小原点表示 Console是作为 System的成员而存在的。C#中抛弃了C和C++中繁杂且极易出错的操作符像∷和-→>等,C#中的复合名字一律通过"."来连接。 System是.Ne平台框架提供的最基本的命名空间之一,有关命名空间的详细使用方法将在以后详细介绍,这里只要学会怎样导入命名空间就足够了。程序的第二行 class Welcome声明了一个类,类的名字叫做We1come。C程序中每个变量或函数都必须属于·个类,包括主函数Main(,不能象C或C++那样建立全局变量。C#语言程序总是从Main()方法开始执行,一个程序中不允许出现两个或两个以上的Main(方法。请牢记C中 Maino方法必须被包含在一个类中,Main第一个字母必须大写,必须是一个静态方法,也就是 Maino方法必须使用 static修饰。 static void Maino是类 Welcome中定义的主函数。静态方法意义见以后章节。程序所完成的输入输出功能是通过 Console类来完成的, Console是在命名空间 System中已经定义好的一个类。 Console类有两个最基本的方法 Writeline和 Readline。 Readline表示从输入设备输入数据, Writeline则用于在输出设备上输出数据。如果在电脑上安裝了 Visual studio.Net,则可以在集成开发坏境中直接选择快捷键或菜单命令编译并执行源文件。如果您不具备这个条件,那么至少需要安装 Microsoft.Netframework sd,这样才能够运行C*语言程序。 Microsoft. Net framework s)k中内置了C#的编译器csc.exe,下面让我们使用这个微软提供的命令行绵详器对程序 welcome.cs进行编译。假设已经将 welcome.cs文件保存在d:\ Charp目录下,启动命令行提示符,在屏幕上输入行命令:d:回车, cd Charp回车,键入命令:编译器csc.exe所在的路径\ csc welcome.cs:D:\CSARP\el.OX如果一切正常 welcome.cs文件将被编译,编译后生成可清键入你的姓名执行文件 Welcome,exe。可以在操作系统命令提小符窗口运geng行这个可执行文件 Welcome.exe。运行后,屏幕上出现一行欧迎字符:"请键入你的姓名:",提示您输入姓名。输入任意宇符并按下回车键,屏幕将打印出欢迎信息:”欢迎!"。键入□回车退出程序。运行结果如右图注意,和我们使用过的绝大多数编译器不同,在C#中编译器只执行编译这个过程,而在C和C艹+中要经过编译和链接两个阶段。换而言之C源文件并不被编译为目标文件.obj,而是直接生成可执行文件.eXe或动态链接库.dl1,C#编译器中不需要包含链接器。使用建立控制台程序运行程序,出现如图界面。单击"新建项目"按钮,出现如图对话框。在"项目类型"列表框中选择项目″,在″模板″列表中选拌″控制台应用程序″,在″名称ˆ编辑枻中键入在"位置"编辑框中键入,必须预先创建文件夹也可以单击"浏览ˆ按钮,在″打丌文件"对话框中选择文件夹。单击ˆ桷定ˆ按钮,创建项目。岀现如图界面。编写一个应用程序,可能包含多个文件,才能生成可执行文件,所有这些文件的集合叫做一个项目。修改文件如下,有阴影部分是新增加的语句,其余是集成环境自动生成的using systemnamespace el 21//// Class1的摘要说明。///ClassIsummary>///应用程序的主入口点LSTAThreadstatic void Main(string[] ar//TOD0:在此处添加代码以启动应用程序Console. Writeline("请键入你的姓名:");C:, D:\CSARP\elConsole. ReadLine o请键入你的姓Console. Writeline("欢迎!欧迎(4)按CTRL+F5键,运行稈序,运行结果如右图。和节运行效果相同。屏幕上出现一行字符:"请键入你的姓名:",提示您输入姓名。输入任意字符并按下回车键,屏幕将打印出欢迎信息:"欢迎!"。键入回车退出程序。Microsoft Development Environmenl[设计]-起始页x立件〕編瓣①)视图〕工具红)窗口()帮助〔·图居日原届串晶‖起始页D×解决方案资源管理器早项目(s联机资源(N我的配置文件(Y國解决方案资…」类篮打开现有项目动态帮助‖名称帮助解决才家资源管理管理解决方案、项目和文性示例sual studio示例开始新建项目]打开攻目(D升级现有代码就绪图新建项目项目类型(模板工Wisual basic项目项目Wsd]#项目中□ Wisual d++项目智能设备应 ASP. NET Web AsP net web用程序哑用程序服务□安装和部署项目由□其他项目Wisual studio解决方案A5MET移动W控件库控制台应用Web应用程序用于创建命令行应用程序的项目名称位置D: LCSARP习匚浏炫。」将在 D: CSARPe1_2_1处创建项自更多E确定取帮助图e1_2_1- Microsoft visual c#NET[设计]-lass1Cs文件〕編辑)视图)项目〔)生成追)调试①)工具〔)窗口妞)帮助Q圖娜·c国,国nebgA三写4%%起始页Ua554D×解决方案资源管理器+早眼图:121010图团using System解决方案1_211项目资白e12日 nAme space e1_2_1引用ammarCas1的摘要说明。AssemblyInfo. cs易解决方案资…类视图A
用户评论