网络编程技术第一周课件_第1页
网络编程技术第一周课件_第2页
网络编程技术第一周课件_第3页
网络编程技术第一周课件_第4页
网络编程技术第一周课件_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、考核方式期末考试 80平时20(点名一次不到扣5,缺交一次作业扣5,主动帮助同学加5,主动回答问题加2) 牛牛文库文档分享目录学习网络编程的目的基本网络编程的概念基本的Web概念前景和展望 牛牛文库文档分享第一节 学习网络编程的目的检索信息(Web, FTP等)通信(聊天、在线游戏、协同工作等)工作模式(C/S,P2P) 牛牛文库文档分享检索信息 牛牛文库文档分享发送数据FTP、大规模地并行计算 牛牛文库文档分享P2P交互在线游戏聊天文件共享 牛牛文库文档分享创建服务器FTP服务器HTTP服务器游戏服务器聊天服务器 牛牛文库文档分享WEB检索电子商务(阿里巴巴)普适计算网络电视网络电话 牛牛文

2、库文档分享第二节 基本网络编程概念网络网络的层次概念IP/TCP/UDP因特网C/S模式因特网标准 牛牛文库文档分享网络计算级和别的网络设备的集合,它们能相互发送和接收信息。信息传输前转换为物理层信号(电磁波、光波、红外线或微波)网络地址和域名包交换网络协议(计算机通信的规则) 牛牛文库文档分享网络的分层应用层传输层网络层数据链路层物理层 牛牛文库文档分享IP, TCP 和 UDP IP: 能连接不同类型的服务器;设备故障不影响传输(生存能力);能跨越不同类型的网络TCP:保障端到端的可靠传输;流控UDP: 简单有效,特别是多媒体信息传输IP地址和域名端口号 牛牛文库文档分享端口号Echo 7

3、 TCP/UDP Echo is a test protocol used to verify that two machines are able to connect by having one echo back the others input.Daytime 13 TCP/UDP Provides an ASCII representation of the current time on the server. FTP data 20 TCP FTP uses two well-known ports. This port is used to transfer filesFTP

4、21 TCP This port is used to send FTP commands like put and get.telnet 23 TCP Used for interactive, remote command-line sessionsSmtp 25 TCP The Simple Mail Transfer Protocol is used to send email between machines.HTTP 80 TCP The underlying protocol of the World Wide WebPOP3 110 TCP Post Office Protoc

5、ol Version 3 is a protocol for the transfer of accumulated email from the host to sporadically connected clients. 牛牛文库文档分享因特网地址类(A类,B类,C类和D类)网络地址转换(NAT)防火墙代理服务器 牛牛文库文档分享第三节 基本Web概念服务器和客户机对话协议:HTTP。数据表示的格式:HTML。格式的解释和数据的显示是浏览器。资源的定位:URLURL: protocol:/usernamehostname:port/path/filename?query#fragment

6、 如/javafaq/javatutorial.html. 相对的URL: 牛牛文库文档分享HTML, SGML, 和 XML SGML :Standard Generalized Markup Language HTML This is a centered H1 heading This is a left-aligned H2 heading HTML的扩展:闪烁文本、在线电影、小应用程序(APPLET)。 牛牛文库文档分享XML Lotus Smart Suite 9.8 Windows 299.95 牛牛文库文档分享HTTP建立HTTP连接的几个步骤建立连接(TCP)发送请求:GET

7、 /index.html HTTP/1.0 Accept: text/html, text/plain, image/gif, image/jpeg User-Agent: Lynx/2.4 libwww/2.1.4 Host: 牛牛文库文档分享响应HTTP/1.1 200 OK Date: Mon, 15 Sep 2003 21:06:50 GMT Server: Apache/2.0.40 (Red Hat Linux) Last-Modified: Tue, 15 Apr 2003 17:28:57 GMT Connection: close Content-Type: text/htm

8、l; charset=ISO-8859-1 Content-length: 107 A Sample HTML file The rest of the document goes here 关闭连接 牛牛文库文档分享MIME 媒体类型 MIME支持超过计划100种预先定义的媒体类型Text:calendar/css/directory/html/plain/Image:jpeg/tiff/Video:mpeg/quicktime. 牛牛文库文档分享服务器端程序客户端的请求网页/cgi/reg.pl Sample Form Please enter your name: Please ente

9、r your email address: 牛牛文库文档分享传输之前对其编码username=Elliotte+Harold&email=elharo%40 发送查询请求GET /cgi/reg.pl?username=Elliotte+Harold&email=elharo%40 HTTP/1.0 另一种方法POST /cgi-bin/register.pl HTTP 1.0 Content-type: application/x-www-form-urlencoded Content-length: 65 username=Elliotte+Harold&email=elharo%40 牛

10、牛文库文档分享服务器执行相关程序,然后响应. 牛牛文库文档分享静态Web什么是静态Web页在访问前就已经完全确定了内容的web页,一般以.htm或.html为后缀保存。举例: /contents/5536/93760.html 牛牛文库文档分享静态Web页工作原理作者编写静态Html页面保存在服务器端客户在浏览器中输入web请求,同时请求发送到服务器端Web服务器确定.html的文件位置,并把它转换为html流Web服务器将html流通过网络传回客户端浏览器浏览器处理并显示html页面 牛牛文库文档分享静态Web页优点及局限性优点:简单,处理速度快,不占用额外的服务器资源局限性:因为为静态页面

11、,事先已定义的内容,所以不能实现更加复杂的处理功能比如:显示当前时间等. 牛牛文库文档分享动态Web提供动态Web页技术的两种方法:客户端动态Web页技术(代表:js)服务器端动态Web页技术(代表:asp) 牛牛文库文档分享动态Web页工作原理客户端动态Web页技术由客户端浏览器上的插件完成创建动态页的全部过程。动态指令一般与HTML语句混杂在一起,当传递到浏览器时由浏览器进行解释执行。作者编写Html页面保存在服务器端,同时编写一些指令,这些指令在html中混杂存放,也可以单独存放。客户在浏览器中输入web请求,同时请求发送到服务器端Web服务器确定.html的文件位置,并把它转换为htm

12、l流Web服务器将html流通过网络传回客户端浏览器浏览器中的模块(插件)将指令和HTML进行解析处理 牛牛文库文档分享动态Web页优点及缺点客户端动态Web页技术:优点:执行时不占用服务器资源,方便做一些仅仅针对客户端的操作(如验证用户输入)缺点:加载指令文件可能花费较长时间每个浏览器可能有不同的解释方法,有兼容性问题因为代码中客户端运行,容易造成安全问题 牛牛文库文档分享动态Web页工作原理服务器端动态Web页技术HTML源代码与混杂其中的代码指令均存放于服务器,当用户请求页面时,这段代码用于告知服务器相应的模块如何生成html,页面会根据请求动态生成。作者编写Html页面保存在服务器端,

13、同时编写一些指令,这些指令在html中混杂存放,也可以单独存放。客户在浏览器中输入web请求,同时请求发送到服务器端Web服务器确定.html的文件位置Web服务器根据指令创建html流Web服务器将html流通过网络传回客户端浏览器浏览器处理并显示HTML页面 牛牛文库文档分享动态Web页优点及缺点服务器端动态Web页技术:优点:只是描述最终页的html被传递到浏览器,页的逻辑被隐藏在服务器中,并且大多数浏览器能正常访问缺点:只能做服务器端的动态而无法做客户端的动态 牛牛文库文档分享动态Web页的方法(技术)客户端动态Web技术:JavaScript: 属于Oracle公司,不同于java,

14、借鉴部分java的语法和基本结构,不适合文件处理VBScript: 微软公司出品,属于VB的子集,效率较低,除了IE之外,其他浏览器支持度较低ActiveX控件:用C+,VB等编写的程序或组件,提供标识嵌套在html,除了IE之外,其他浏览器支持度较低Java小程序:由Java编写的程序,提供等标识嵌套在html中,通过Java虚拟机运行 牛牛文库文档分享动态Web页的方法(技术)服务器端动态Web技术:CGI: 公共网关接口(Common Gateway Interface),一种“古老”的技术,CGI允许用户调用服务器上的另一个脚本(如Perl脚本)来创建动态页。占用资源大、复杂ASP:

15、动态服务器页面(Active Server Pages),依赖js和VBS等脚本通过ASP.dll来生成动态页。ASP可通过ActiveX技术实现很多功能,如数据库存取、收发邮件、图像处理等PHP: Hyper Text Preprocessor,开放源代码,语法类似C,比较流行JSP: Java Server Pages,基于java平台ASP.NET: 基于.NET平台,使用C#及VB.NET等 牛牛文库文档分享第四节 前景和展望任何一家互联网企业WebMobile AppGameMobile Game 牛牛文库文档分享网络编程技术计算机学院/ 任建吉renjianji 牛牛文库文档分享第

16、一章 C#.NET概述C#网络编程技术学习目标了解.NET框架及其特点。了解C#开发背景,及其与.NET框架之间的关系。掌握Visual C#.NET集成开发环境。掌握创建C#程序的一般方法和C#程序结构。 牛牛文库文档分享本章内容1.1 .NET平台介绍 1.2 C#语言简介 1.3 Visual C#.NET集成开发环境 1.4 C#的项目组织1.5 控制台应用程序1.6 创建第一个C#.NET程序 牛牛文库文档分享1.1 .NET平台介绍 1.1.1 什么是.NET Microsoft.NET是微软公司于2000年6月22日发布的下一代计算计划,该计划的主要目的是让网络由呈现式的平台转为

17、完全的平台,使微软已有的软件在Web时代适用于传统的PC。具体来讲,就是通过.NET计划,可以让我们在任何时间、任何地点,使用任何设备获取信息并且得到服务。 .NET是微软公司推出的一个全新概念的技术,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。同时.NET也是一种新的计算平台,它简化了在高度分布式Internet环境中开发应用程序的过程,为用户提供更加丰富和完善的解决方案。 牛牛文库文档分享1.1 .NET平台介绍Microsoft .NET方案由以下四个关键部分组成:(1).NET构件块服务,即对某些特定服务程序的访问,如用于文件存储的服务、日历管理

18、或Passport.NET(一种身份鉴别服务)。(2).NET设备软件,是运行于新型Internet设备上的软件。(3)用户体验,包括自然界面、信息代表和智能标签等功能,这些技术可以自动建立超链接,这些超链接指向与用户创建的文档中的单词或短语相关的信息。(4)基础结构,由.NET框架、Microsoft Visual Studio .NET、.NET企业服务器和Microsoft Windows .NET组成。 牛牛文库文档分享1.1 .NET平台介绍1.1.2 .NET的核心组件 .NET包括以下核心组件:(1)一组用于创建互联网操作系统的构建块。包括用于用户认证的Passport.NET以

19、及用于文件存储的服务,用户首选项日历管理和众多的其他任务。 (2)构建和管理新一代服务的基本结构和工具。包括Visual Studio.NET企业服务器、.NET Framework和Windows.NET。(3)能够启用新型智能互联网设备的.NET设备软件。(4).NET用户体验。 牛牛文库文档分享1.1 .NET平台介绍1.1.3 .NET的新特性 .NET是一种全新的技术,其平台由公共语言运行时、基础类库和公共语言规范组成。基础类库展现了公共语言运行时的功能,类似于Windows API。但基础类库提供了比API更为高层的功能来方便代码的重用。作为一个新的平台,它包括了很多新特性:一致的

20、编程模式,简化的编程模式,平台与处理器独立,支持多语言的开发,自动内存管理,一致的出错处理方式,完美的安全机制,XML和SOAP的引入等。具体说明如下:(1)一致的编程模式。在.NET环境中,所有的应用程序都采用通用的面向对象的编程模式,而Windows环境中既有DLL函数也有COM对象。 牛牛文库文档分享1.1 .NET平台介绍(2)简化的编程模式。这是最令开发人员欢迎鼓舞的消息,在.NET环境下,由于CLR的作用,程序开发人员不再需要深入了解和Windows或COM架构相关的GUID、Iunknown()、AddRef()、Release()和HRESULTS等知识。.NET平台不但隐藏了

21、实现细节,而且在新的平台上,这些概念已经消失了。(3)平台与处理器独立。微软中间语言(MSIL)独立于CPU,是一种比传统机器语言层次更高的语言。对于任何操作平台,只要支持.NET运行就可以运行.NET应用程序。现在所有的Windows平台均可以实现这一点,将来甚至在非Windows操作系统上也可以实现这一点,直接在C+这样的语言中使用。 牛牛文库文档分享1.1 .NET平台介绍(4)支持多语言的开发。按照COM的原理,代码重用是建立在二进制代码的级别上的。在.NET环境下,代码重用可以建立在源码级别上,也就是说,用C#语言编写的某个类可以直接在C+这样的语言中使用。.NET有这样的巨大威力在

22、于它为所有支持.NET编程的语言提供了一整套通用类型系统。(5)自动内存管理。对于所有开发人员而言,最难解决的就是内存泄漏的问题。在.NET环境下这个问题得到彻底解决,自动内存管理功能已经纳入CLR之中。该功能会定时检查被丢弃的内存,并进行相应的回收,从而使程序员可把复杂的内存管理交给平台自己来处理。 牛牛文库文档分享1.1 .NET平台介绍(6)一致的出错处理方式。相信所有的Windows SDK程序员都对Windows环境下混乱的错误处理方式感到厌烦,如Win32错误代码、异常情况处理和HRESULT等。在.NET环境下,所有的程序都采用统一的错误处理方式(产生异常)。(7)完善的安全机制

23、。.NET的出现是为了迎合下一代因特网环境下的企业级计算,一般的访问控制已经不能满足要求,所以在安全方面,.NET相对于Windows等其他系统而言,有了更深入的改进,如从装载一个类开始就进行确认性检查;在访问代码和相应资源时,实施代码访问安全措施。.NET还提供了一整套机制来判断角色和确认身份信息,并且能做到跨进程和跨机器,从而确保所需的代码在远端不会受到破坏。.NET的安全性也深深嵌入到CLR结构中,以确保应用程序本身安全。这些安全机制是对现有操作系统安全机制的一种本质上的扩展,从而使.NET在安全性上进一步加强。 牛牛文库文档分享1.1 .NET平台介绍(8)XML和SOAP的引入。回忆

24、一下过去的分布式应用程序的设计,通常设计两层应用程序,在此基础上出现了如CORBA、IIOP、RMI和DCOM这样的协议。人们已经熟悉了这样的分布式系统。但是这种系统的弊端就是灵活性差,因为这种设计方式使得应用程序固定在服务器端。而因特网是整个松散连接和分布非常广的世界。原有的Client/Server结构已经过时,因此就提出了全新的编程模式,而XML和SOAP能使这种模式很好地工作。在.NET中,XML和SOAP已经深深地融入其中并成为非常重要的组成部分。 牛牛文库文档分享1.1 .NET平台介绍1.1.4 .NET框架 .NET框架是.NET平台的基本架构,其目的是为了更容易建立网络应用程

25、序和网络服务。此外,Microsoft.NET框架还规定了代码访问安全和基于角色的安全。通过代码访问安全机制,为应用程序指定完成工作所必需的权限,从而保障按照开发人员的意图全面、细致地设计安全可靠的应用程序。.NET平台的框架结构如图1.1所示。整个平台由7部分组成。 牛牛文库文档分享1.1 .NET平台介绍图1.1 .NET框架结构 牛牛文库文档分享1.2 C#语言简介C#(读作“C sharp”)是一种完全面向对象的基于.NET框架的高级程序设计语言。专门为快速编写在.NET框架上运行的各种应用程序而设计。语法简洁精心的面向对象设计与Web的紧密结合可靠的安全性与错误处理可靠的版本控制技术

26、灵活性和兼容性。 牛牛文库文档分享1.2 C#语言简介1.2.1 C#的开发背景 C和C+这两种语言为程序员提供了丰富的功能、高度的灵活性和强大的底层控制能力。而这一切都不得不在效率上做出不同程度的牺牲。 合理的C/C+替代语言应该可以对现存和潜在的平台上的高效开发提供有效的支持,并可以使Web开发非常方便地与现存的应用相结合。并提供一些必要的底层编程的功能。 C#是从C和C+演变而来的,并且结合了C/C+的强大功能、Java的面向对象特性和Visual Basic的易用性,从而成为一种简单的类型安全、面向对象的编程语言,也是.NET公共语言运行环境的内置语言。C#代码可以从公共语言运行库的服

27、务中获益。C#同时还具有Delphi的一些优点。 牛牛文库文档分享1.2 C#语言简介1.2.2 C#语言的特点 C#是专门为.NET应用而开发的语言,这从根本上保证了C#与.NET框架的完美结合。.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。C#具有如下的特点:1语法简洁2面向对象设计3与Web紧密结合4完整的安全性和错误处理5版本控制6兼容性7灵活性 牛牛文库文档分享1.2 C#语言简介1.2.3 C#与其他语言的比较 1C#和C+的比较(1)编译目标。C+代码直接编译为本地可执行代码,而C#

28、默认编译为中间语言(IL)代码,执行时再通过Just-In-Time将需要的模块临时编译成本地代码。(2)内存管理。C+需要显式地删除动态分配给堆的内存,而C#不需要这么做,C#采用垃圾回收机制自动在合适的时机回收不再使用的内存。(3)指针。C+中大量地使用指针,而C#使用对类实例的引用,如果确实想在C#中使用指针,必须声明该内容是非安全的。不过,一般情况下C#没有必要使用指针。(4)字符串处理。在C#中,字符串是作为一种基本数据类型来对待的,因此比C+中对字符串的处理要简单得多。(5)库。C+依赖于以继承和模板为基础的标准库,C#则依赖于.NET基库。(6)类继承。C+允许类的多继承,而C#

29、只允许类的单继承,通过接口才能实现多继承。 牛牛文库文档分享1.2 C#语言简介2C#和Java的比较(1)C#与Java的相同之处。 两者都编译成跨平台的、跨语言的代码,并且代码只能在一个受控制的环境中运行。 自动收集垃圾内存,并且取消了指针。在C#中可以使用指针,不过必须注明unsafe关键字。 都不需要头文件,所有的代码都被“包(package)”限制在某个范围内,并且因为没有头文件,所以消除了类定义的循环依赖。(2)C#与Java的区别 C#面向对象的程度比Java高。 C#具有比Java更强大的功能。 C#的速度比Java快。 牛牛文库文档分享1.3 Visual C#.NET集成开

30、发环境 .NET应用程序的创建通常有两种方法:一种是编辑器开发包的方法,另一种是利用.NET可视化开发工具进行开发。 前者可以使用文本编辑器来编写代码,然后借助从微软站点免费下周的.NET软件开发工具包(Software Development Kit,SDK),通过C#命令行编译器(csc.exe)来构建.NET程序。但这种方法会带来许多麻烦,因为它在SDK中不提供代码生成使用工具(向导)、图形调试器和IntelliSense功能,从而导致效率低下。 为了减轻在命令行构建软件的负担,提高开发效率,大多数开发人员都使用后一种方法进行开发。Visual Studio 2005正是微软公司推出的,

31、现阶段用于创建C#.NET应用程序的最简单、快捷的开发工具,使用它可以开发控制台应用程序、Windows应用程序和Web应用程序。下面介绍Visual Studio 2005的集成开发环境。 牛牛文库文档分享1.3 Visual C#.NET集成开发环境VS2005开发环境1安装VS2005速成版(Express Edition)-免费专业版(Professional Edition)- 专业版旗舰版(Team Suite)- 开发版VS2012开发环境1安装VS2012速成版(Express Edition)-免费专业版(Professional Edition)旗舰版(Ultimate E

32、dition)-本书调试用的环境2安装VS2012 SP33配置VS2012开发环境的界面风格(可选) 牛牛文库文档分享1.3 解决方案和项目文件的组织结构扩展名名称.slnVisual Studio .Net解决方案文件.csprojVisual C#项目文件.csVisual C#源代码文件.resx资源文件.aspxWeb窗体文件.asmxXML Web服务文件 牛牛文库文档分享1.3 Visual C#.NET集成开发环境1.3.1 启动界面图1.2 Microsoft Visual Studio 2005启动界面 牛牛文库文档分享1.3 Visual Studio的帮助Visual

33、Studio 的帮助系统是基于Web的,有两种工作模式,包括本地模式和联机模式在VS窗口中选择“帮助-管理帮助设置”菜单命令,可切换帮助系统的工作模式。操作演示 牛牛文库文档分享1.3 Visual C#.NET集成开发环境1.3.2 解决方案资源管理器 解决方案资源管理器(Solution Explorer)如图1.3所示,包含用于创建应用程序的全部项目,这些项目可以是VC+.NET、C#、VB.NET等不同语言开发的项目。一个解决方案可以由几个组件项目和引用它们的用户界面组成。 在解决方案资源管理器中,可以从树状视图中清晰地查看程序的实现文件、头文件和资源文件。 牛牛文库文档分享1.3 V

34、isual C#.NET集成开发环境1.3.3 工具箱 工具箱中包含了可重用的控件,用于定义应用程序。使用可视化的方法编程时,可在窗体中拖放控件,绘制出应用程序界面。大大提高开发人员的工作效率,尤其在设计对话框时,使用工具箱中的可视化控件无疑使开发变得十分方便。 牛牛文库文档分享1.3 Visual C#.NET集成开发环境1.3.4 代码编辑窗口 对于C#的开发人员来说,主要的编辑工作都在代码编辑窗口完成,在.NET开发环境中,代码编辑窗口的性能也得到了很大的加强。一个最大的提高就是提供了分页标签可以使开发人员在各个文件中切换。 牛牛文库文档分享1.3 Visual C#.NET集成开发环境

35、1.3.5 类视图 类视图是编辑代码时最频繁使用的工具窗口,它以树形结构显示了当前项目中的所有类,并在类中列出成员变量和成员函数。每一个类首先列出带紫色图标的成员函数,然后列出带蓝色图标的成员变量。保护类型成员的标志为一把钥匙,私有成员的标志为一把锁,而共有成员图标旁边没有标志。 牛牛文库文档分享1.3 Visual C#.NET集成开发环境1.3.6 属性窗口 属性窗口用于设置控件的属性。属性定义了控件的信息,如大小、位置、颜色等。属性窗口左边一栏表示了控件的属性名,右边一栏表示属性的当前值。 牛牛文库文档分享1.3 Visual C#.NET集成开发环境1.3.7 服务器资源管理窗口 服务

36、器资源管理器是Visual Studio 2005中的服务器控制台。通过它可以在IDE中集中监控和管理一个应用方案涉及的所有“服务器”和“数据连接”。例如可以通过服务器资源管理器连接数据库、创建数据库表或将数据库表拖放到表格、数据库图表或查询中。 牛牛文库文档分享1.4 C#项目的组织1.4.1 命名空间1.4.2 using关键字1.4.3 Main方法1.4.4 代码注释1.4.5 通过断点调试C#程序1.4.6 C#代码编写命名规范 牛牛文库文档分享1.4 C#项目的组织C#源文件的扩展名为.cs,如Welcome.cs。一个C#源文件中一般只包含一个类【建议这样做】,但也可以包含多个类

37、,文件名和类名可以相同【建议相同】,也可以不同【包含多个类时一般不和类名相同】。调试环境下:项目编译后生成的文件默认保存在项目的binDebug文件夹下。发布时应该改为binRelease。 牛牛文库文档分享1.4.1 命名空间命名空间是对类的一种划分,类似于目录和文件的划分形式 。命令空间是一种逻辑划分,而非物理上的存储分类。命名空间命名空间命名空间命名空间命名空间命名空间命名空间命名空间类类类 牛牛文库文档分享1.4.1 命名空间静态方法调用命名空间.命名空间.命名空间.类名.静态方法名(参数,);例如:System.Console.WritleLine(”Hello World!”);实

38、例方法调用实例化:命名空间命名空间.类名 = new 类名称(参数,) 方法调用:实例名.方法名(参数)例如:System.Text.StringBuilder b = new StringBuilder(); b.Append(“abcd”); 牛牛文库文档分享1.4.2 using关键字using关键字指定引用的命名空间,例如:using System.Windows.Forms;简化命名空间的层次表达形式,例如: using WinForm=System.Windows.Form;作为语句,定义一个范围。程序执行到“”时,就会自动释放font1对象例如:Font font1 = new

39、Font(Arial, 10.0f);using (font1) 牛牛文库文档分享1.4.3 Main方法Main方法要求应用程序入口方法名规定为Main。必须声明为public static返回值只能是void或者int。可以放在任何一个类中。 牛牛文库文档分享1.4.4 代码注释常规注释方式单行注释:以“/”符号开始,任何位于“/”符号后的本行文字都视为注释块注释:以“/*”开始,“*/”结束。任何介于这对符号之间的文字块都视为注释。XML注释方式“/”符号是一种XML注释方式在用户自定义的类型如类、接口、枚举等或者在其成员上方,或者命名空间的声明上方连续键入3个斜杠字符可以在键入方法名和

40、参数的过程中看到用XML注释的智能提示。 牛牛文库文档分享1.4.4 代码注释#region注释方式#region预处理指令用于给程序段添加逻辑功能注释,让某一部分代码实现的逻辑功能看起来更清晰。被包围的代码还可以折叠和展开。举例:#region 程序入口static void Main(string args).#endregion 牛牛文库文档分享1.4.5 通过断点调试C#程序断点调试是编程人员必备素质!利用断点查找程序的逻辑错误,是常用的手段之一1设置和取消断点单击某代码行左边的灰色区域。单击设置,再次单击取消设置。鼠标右击某代码行,选择【断点】【插入断点】或者【删除断点】。 单击某代

41、码行,直接按键进行设置或取消设置。2利用断点调试程序按执行到断 +键终止调试。 逐过程 逐语句 牛牛文库文档分享1.4.6 C#代码编写命名规范类名、方法名和属性名全部使用Pascal命名法,即所有单词连写,每个单词的第一个字母大写,其他字母小写。例如HelloWorld、GetData等。变量名、一般对象名、控件对象名以及方法的参数名全部使用Camel命名法,即所有单词连写,但是第一个单词全部小写,其他每个单词的第一个字母大写。例如:userName、userAge等。如果是私有字段,为了和具有相同名字的属性名区分,私有的字段名也可以用下划线(“_”)开头,例如属性名为Age,私有字段名可以

42、为age或者_Age。 牛牛文库文档分享1.5 控制台应用程序1.5.1 控制台应用程序的输入与输出1.5.2 在控制台应用程序中输出格式化数据 牛牛文库文档分享1.5.1 控制台应用程序的输入与输出控制台输出Console.Write ();把各种类型的数据或对象转换成字符串写入标准输出流Console.WriteLine();与Write的区别:自动输出回车、换行符(“rn”);例如int age = 18; string s = abc;Console.Write(age);Console.Write(s);Console.WriteLine(age);Console.WriteLine

43、(s); 牛牛文库文档分享 牛牛文库文档分享1.5.1 控制台应用程序的输入与输出控制台输入Console.ReadKey();标准输入流读取用户按下的字符或功能键。例如:ConsoleKeyInfo c=Console.ReadKey();Console.ReadLine();从标准输入流读取一行字符。例如: string s = Console.ReadLine(); 牛牛文库文档分享1.5.1 控制台应用程序的输入与输出快速键入C#代码方法1:连续按两次键方法2:在要插入代码段的位置处,用鼠标右击选择“外侧代码”的办法插入代码段。例如:键入“for”三个字母后,连续按两次键,观察系统自动

44、插入的代码段。 牛牛文库文档分享1.5.2 在控制台应用程序中输出格式化数据在Console.Write和Console.WriteLine方法中,可直接定义数据转换为字符串后的输出格式Console.WriteLine(格式化表示, 参数序列);Console.Write(格式化表示, 参数序列);例如:int x=10, y=20, z=30;/输出10+20+30=60Console.WriteLine(0+1+2=3, x, y, z, x+y+z); /输出60=20+30+10Console.WriteLine(3=1+2+0, x, y, z, x+y+z); 牛牛文库文档分享

45、牛牛文库文档分享1.5.2 在控制台应用程序中输出格式化数据格式化输出形式N 从零开始的整数,表示第几个参数。M 可选参数,整数,表示最小长度。若参数N的长度小于M,就用空格填充;如果M为负,则左对齐;如果M为正,则右对齐; 牛牛文库文档分享1.5.2 在控制台应用程序中输出格式化数据利用string.Format方法格式化字符串先用String.Format方法拼接字符串,再用WriteLine方法输出;既可以在控制台应用程序中使用,也可以在其他应用程序中(WinForm、WPF等)使用。例如:int i = 123;/d6表示不够6位左边补零string s = string.Format

46、(0:d6, i);Console.WriteLine(s); 牛牛文库文档分享 牛牛文库文档分享1.5.2 在控制台应用程序中输出格式化数据3利用ToString方法格式化字符串如果是一个变量,使用ToString方法更简单。Console、WinForm、WPF、Silverlight、ASP.NET等应用程序都可以利用string.Format方法或者ToString方法定义数据的格式。例如:int n1 = 12;string s1 = n1.ToString(X4); /X格式表示用十六进制输出。结果为:000Cstring s2 = n1.ToString(d5); /结果:000

47、12 牛牛文库文档分享 牛牛文库文档分享1.6 创建第一个C#.NET程序1.6.1 创建C#控制台应用程序 控制台应用程序也叫Console应用程序,是一种在后台运行的程序,没有独立的窗口,它不像窗体应用程序那样,可以通过鼠标单击按钮等控件来实现相应操作,而是在命令行方式下运行。下面介绍一个最简单的输出“Hello World”的控制台应用程序的开发过程。例1-1 显示“Hello World”的控制台应用程序。(1)启动Visual Studio 2005,选择【文件】|【新建】|【项目】命令,弹出【新建项目】对话框,如图所示。(2)在左侧【项目类型】列表中选择【Visual C#】,在右侧【模板】列表框中选择【控制台应用程序】。(3)在【名称】文本框中输入“Hello World”,在【位置】文本框中输入项目保存路径“E:C# ProgramConsoleTest”,单击【确定】按钮。 牛牛文库文档分享1.6 创建第一个C#.NET程序 牛牛文库文档分享1.6 创建第一个C#.N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论