




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 1C#C#网络编程技术教程第一章网络编程技术教程第一章C#.NETC#.NET概述概述第第1 1章章 C#.NETC#.NET概述概述2 2学习目标学习目标了解了解.NET.NET框架及其特点。框架及其特点。了解了解C#C#开发背景,及其与开发背景,及其与.NET.NET框架之间的关系。框架之间的关系。掌握掌握Visual C#.NETVisual C#.NET集成开发环境。集成开发环境。掌握创建掌握创建C#C#程序的一般方法和程序的一般方法和C#C#程序结构。程序结构。第第1 1章章 C#.NETC#.NET概述概述3 3本章内容本章内容1.1 .NET1.1 .NET平台介绍平台介绍
2、1.2 C#1.2 C#语言简介语言简介 1.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成开发环境 1.4 1.4 创建第一个创建第一个C#.NETC#.NET程序程序 第第1 1章章 C#.NETC#.NET概述概述4 41.1 .NET1.1 .NET平台介绍平台介绍 1.1.1 什么是.NET Microsoft .NET是微软公司于2000年6月22日发布的下一代计算计划,该计划的主要目的是让网络由呈现式的平台转为完全的平台,使微软已有的软件在Web时代适用于传统的PC。具体来讲,就是通过.NET计划,可以让我们在任何时间、任何地点,使用任何设备获取
3、信息并且得到服务。 .NET是微软公司推出的一个全新概念的技术,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。同时.NET也是一种新的计算平台,它简化了在高度分布式Internet环境中开发应用程序的过程,为用户提供更加丰富和完善的解决方案。第第1 1章章 C#.NETC#.NET概述概述5 51.1 .NET1.1 .NET平台介绍平台介绍Microsoft .NET方案由以下四个关键部分组成:(1).NET构件块服务,即对某些特定服务程序的访问,如用于文件存储的服务、日历管理或Passport.NET(一种身份鉴别服务)。(2).NET设备软件,是运行
4、于新型Internet设备上的软件。(3)用户体验,包括自然界面、信息代表和智能标签等功能,这些技术可以自动建立超链接,这些超链接指向与用户创建的文档中的单词或短语相关的信息。(4)基础结构,由.NET框架、Microsoft Visual Studio .NET、.NET企业服务器和Microsoft Windows .NET组成。第第1 1章章 C#.NETC#.NET概述概述6 61.1 .NET1.1 .NET平台介绍平台介绍1.1.2 .NET的核心组件 .NET包括以下核心组件:(1)一组用于创建互联网操作系统的构建块。包括用于用户认证的Passport.NET以及用于文件存储的服
5、务,用户首选项日历管理和众多的其他任务。 (2)构建和管理新一代服务的基本结构和工具。包括Visual Studio.NET企业服务器、.NET Framework和Windows.NET。(3)能够启用新型智能互联网设备的.NET设备软件。(4).NET用户体验。第第1 1章章 C#.NETC#.NET概述概述7 71.1 .NET1.1 .NET平台介绍平台介绍1.1.3 .NET的新特性 .NET是一种全新的技术,其平台由公共语言运行时、基础类库和公共语言规范组成。基础类库展现了公共语言运行时的功能,类似于Windows API。但基础类库提供了比API更为高层的功能来方便代码的重用。作
6、为一个新的平台,它包括了很多新特性:一致的编程模式,简化的编程模式,平台与处理器独立,支持多语言的开发,自动内存管理,一致的出错处理方式,完美的安全机制,XML和SOAP的引入等。具体说明如下:(1)一致的编程模式。在.NET环境中,所有的应用程序都采用通用的面向对象的编程模式,而Windows环境中既有DLL函数也有COM对象。第第1 1章章 C#.NETC#.NET概述概述8 81.1 .NET1.1 .NET平台介绍平台介绍(2)简化的编程模式。这是最令开发人员欢迎鼓舞的消息,在.NET环境下,由于CLR的作用,程序开发人员不再需要深入了解和Windows或COM架构相关的GUID、Iu
7、nknown( )、AddRef( )、Release( )和HRESULTS等知识。.NET平台不但隐藏了实现细节,而且在新的平台上,这些概念已经消失了。(3)平台与处理器独立。微软中间语言(MSIL)独立于CPU,是一种比传统机器语言层次更高的语言。对于任何操作平台,只要支持.NET运行就可以运行.NET应用程序。现在所有的Windows平台均可以实现这一点,将来甚至在非Windows操作系统上也可以实现这一点,直接在C+这样的语言中使用。第第1 1章章 C#.NETC#.NET概述概述9 91.1 .NET1.1 .NET平台介绍平台介绍(4)支持多语言的开发。按照COM的原理,代码重用
8、是建立在二进制代码的级别上的。在.NET环境下,代码重用可以建立在源码级别上,也就是说,用C#语言编写的某个类可以直接在C+这样的语言中使用。.NET有这样的巨大威力在于它为所有支持.NET编程的语言提供了一整套通用类型系统。(5)自动内存管理。对于所有开发人员而言,最难解决的就是内存泄漏的问题。在.NET环境下这个问题得到彻底解决,自动内存管理功能已经纳入CLR之中。该功能会定时检查被丢弃的内存,并进行相应的回收,从而使程序员可把复杂的内存管理交给平台自己来处理。第第1 1章章 C#.NETC#.NET概述概述10101.1 .NET1.1 .NET平台介绍平台介绍(6)一致的出错处理方式。
9、相信所有的Windows SDK程序员都对Windows环境下混乱的错误处理方式感到厌烦,如Win32错误代码、异常情况处理和HRESULT等。在.NET环境下,所有的程序都采用统一的错误处理方式(产生异常)。(7)完善的安全机制。.NET的出现是为了迎合下一代因特网环境下的企业级计算,一般的访问控制已经不能满足要求,所以在安全方面,.NET相对于Windows等其他系统而言,有了更深入的改进,如从装载一个类开始就进行确认性检查;在访问代码和相应资源时,实施代码访问安全措施。.NET还提供了一整套机制来判断角色和确认身份信息,并且能做到跨进程和跨机器,从而确保所需的代码在远端不会受到破坏。.N
10、ET的安全性也深深嵌入到CLR结构中,以确保应用程序本身安全。这些安全机制是对现有操作系统安全机制的一种本质上的扩展,从而使.NET在安全性上进一步加强。第第1 1章章 C#.NETC#.NET概述概述11111.1 .NET1.1 .NET平台介绍平台介绍(8)XML和SOAP的引入。回忆一下过去的分布式应用程序的设计,通常设计两层应用程序,在此基础上出现了如CORBA、IIOP、RMI和DCOM这样的协议。人们已经熟悉了这样的分布式系统。但是这种系统的弊端就是灵活性差,因为这种设计方式使得应用程序固定在服务器端。而因特网是整个松散连接和分布非常广的世界。原有的Client/Server结构
11、已经过时,因此就提出了全新的编程模式,而XML和SOAP能使这种模式很好地工作。在.NET中,XML和SOAP已经深深地融入其中并成为非常重要的组成部分。第第1 1章章 C#.NETC#.NET概述概述12121.1 .NET1.1 .NET平台介绍平台介绍1.1.4 .NET框架 .NET框架是.NET平台的基本架构,其目的是为了更容易建立网络应用程序和网络服务。此外,Microsoft.NET框架还规定了代码访问安全和基于角色的安全。通过代码访问安全机制,为应用程序指定完成工作所必需的权限,从而保障按照开发人员的意图全面、细致地设计安全可靠的应用程序。.NET平台的框架结构如图1.1所示。
12、整个平台由7部分组成。第第1 1章章 C#.NETC#.NET概述概述13131.1 .NET1.1 .NET平台介绍平台介绍图1.1 .NET框架结构第第1 1章章 C#.NETC#.NET概述概述14141.2 C#1.2 C#语言简介语言简介1.2.1 C#的开发背景 C和C+这两种语言为程序员提供了丰富的功能、高度的灵活性和强大的底层控制能力。而这一切都不得不在效率上做出不同程度的牺牲。 合理的C/C+替代语言应该可以对现存和潜在的平台上的高效开发提供有效的支持,并可以使Web开发非常方便地与现存的应用相结合。并提供一些必要的底层编程的功能。 C#是从C和C+演变而来的,并且结合了C/
13、C+的强大功能、Java的面向对象特性和Visual Basic的易用性,从而成为一种简单的类型安全、面向对象的编程语言,也是.NET公共语言运行环境的内置语言。C#代码可以从公共语言运行库的服务中获益。C#同时还具有Delphi的一些优点。 第第1 1章章 C#.NETC#.NET概述概述15151.2 C#1.2 C#语言简介语言简介1.2.2 C#语言的特点 C#是专门为.NET应用而开发的语言,这从根本上保证了C#与.NET框架的完美结合。.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。C#
14、具有如下的特点:1语法简洁2面向对象设计3与Web紧密结合4完整的安全性和错误处理5版本控制6兼容性7灵活性 第第1 1章章 C#.NETC#.NET概述概述16161.2 C#1.2 C#语言简介语言简介1.2.3 C#与其他语言的比较 1C#和C+的比较(1)编译目标。C+代码直接编译为本地可执行代码,而C#默认编译为中间语言(IL)代码,执行时再通过Just-In-Time将需要的模块临时编译成本地代码。(2)内存管理。C+需要显式地删除动态分配给堆的内存,而C#不需要这么做,C#采用垃圾回收机制自动在合适的时机回收不再使用的内存。(3)指针。C+中大量地使用指针,而C#使用对类实例的引
15、用,如果确实想在C#中使用指针,必须声明该内容是非安全的。不过,一般情况下C#没有必要使用指针。(4)字符串处理。在C#中,字符串是作为一种基本数据类型来对待的,因此比C+中对字符串的处理要简单得多。(5)库。C+依赖于以继承和模板为基础的标准库,C#则依赖于.NET基库。(6)类继承。C+允许类的多继承,而C#只允许类的单继承,通过接口才能实现多继承。 第第1 1章章 C#.NETC#.NET概述概述17171.2 C#1.2 C#语言简介语言简介2C#和Java的比较(1)C#与Java的相同之处。 两者都编译成跨平台的、跨语言的代码,并且代码只能在一个受控制的环境中运行。 自动收集垃圾内
16、存,并且取消了指针。在C#中可以使用指针,不过必须注明unsafe关键字。 都不需要头文件,所有的代码都被“包(package)”限制在某个范围内,并且因为没有头文件,所以消除了类定义的循环依赖。(2)C#与Java的区别 C#面向对象的程度比Java高。 C#具有比Java更强大的功能。 C#的速度比Java快。第第1 1章章 C#.NETC#.NET概述概述18181.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成开发环境 .NET应用程序的创建通常有两种方法:一种是编辑器开发包的方法,另一种是利用.NET可视化开发工具进行开发。 前者可以使用文本编辑器来
17、编写代码,然后借助从微软站点免费下周的.NET软件开发工具包(Software Development Kit,SDK),通过C#命令行编译器(csc.exe)来构建.NET程序。但这种方法会带来许多麻烦,因为它在SDK中不提供代码生成使用工具(向导)、图形调试器和IntelliSense功能,从而导致效率低下。 为了减轻在命令行构建软件的负担,提高开发效率,大多数开发人员都使用后一种方法进行开发。Visual Studio 2005正是微软公司推出的,现阶段用于创建C#.NET应用程序的最简单、快捷的开发工具,使用它可以开发控制台应用程序、Windows应用程序和Web应用程序。下面介绍Vi
18、sual Studio 2005的集成开发环境。第第1 1章章 C#.NETC#.NET概述概述19191.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成开发环境1.3.1 启动界面图1.2 Microsoft Visual Studio 2005启动界面第第1 1章章 C#.NETC#.NET概述概述20201.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成开发环境1.3.2 解决方案资源管理器 解决方案资源管理器(Solution Explorer)如图1.3所示,包含用于创建应用程序的全部项目,这些项目可以是VC+.NE
19、T、C#、VB.NET等不同语言开发的项目。一个解决方案可以由几个组件项目和引用它们的用户界面组成。 在解决方案资源管理器中,可以从树状视图中清晰地查看程序的实现文件、头文件和资源文件。 第第1 1章章 C#.NETC#.NET概述概述21211.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成开发环境1.3.3 工具箱 工具箱中包含了可重用的控件,用于定义应用程序。使用可视化的方法编程时,可在窗体中拖放控件,绘制出应用程序界面。大大提高开发人员的工作效率,尤其在设计对话框时,使用工具箱中的可视化控件无疑使开发变得十分方便。 第第1 1章章 C#.NETC#.N
20、ET概述概述22221.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成开发环境1.3.4 代码编辑窗口 对于C#的开发人员来说,主要的编辑工作都在代码编辑窗口完成,在.NET开发环境中,代码编辑窗口的性能也得到了很大的加强。一个最大的提高就是提供了分页标签可以使开发人员在各个文件中切换。 第第1 1章章 C#.NETC#.NET概述概述23231.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成开发环境1.3.5 类视图 类视图是编辑代码时最频繁使用的工具窗口,它以树形结构显示了当前项目中的所有类,并在类中列出成员变量和成员函数
21、。每一个类首先列出带紫色图标的成员函数,然后列出带蓝色图标的成员变量。保护类型成员的标志为一把钥匙,私有成员的标志为一把锁,而共有成员图标旁边没有标志。 第第1 1章章 C#.NETC#.NET概述概述24241.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成开发环境1.3.6 属性窗口 属性窗口用于设置控件的属性。属性定义了控件的信息,如大小、位置、颜色等。属性窗口左边一栏表示了控件的属性名,右边一栏表示属性的当前值。 第第1 1章章 C#.NETC#.NET概述概述25251.3 Visual C#.NET1.3 Visual C#.NET集成开发环境集成
22、开发环境1.3.7 服务器资源管理窗口 服务器资源管理器是Visual Studio 2005中的服务器控制台。通过它可以在IDE中集中监控和管理一个应用方案涉及的所有“服务器”和“数据连接”。例如可以通过服务器资源管理器连接数据库、创建数据库表或将数据库表拖放到表格、数据库图表或查询中。 第第1 1章章 C#.NETC#.NET概述概述26261.4 1.4 创建第一个创建第一个C#.NETC#.NET程序程序1.4.1 创建C#控制台应用程序 控制台应用程序也叫Console应用程序,是一种在后台运行的程序,没有独立的窗口,它不像窗体应用程序那样,可以通过鼠标单击按钮等控件来实现相应操作,
23、而是在命令行方式下运行。下面介绍一个最简单的输出“Hello World”的控制台应用程序的开发过程。例1-1 显示“Hello World”的控制台应用程序。(1)启动Visual Studio 2005,选择【文件】|【新建】|【项目】命令,弹出【新建项目】对话框,如图所示。(2)在左侧【项目类型】列表中选择【Visual C#】,在右侧【模板】列表框中选择【控制台应用程序】。(3)在【名称】文本框中输入“Hello World”,在【位置】文本框中输入项目保存路径“E:C# ProgramConsoleTest”,单击【确定】按钮。 第第1 1章章 C#.NETC#.NET概述概述272
24、71.4 1.4 创建第一个创建第一个C#.NETC#.NET程序程序第第1 1章章 C#.NETC#.NET概述概述28281.4 1.4 创建第一个创建第一个C#.NETC#.NET程序程序1.4.1 创建C#控制台应用程序代码实例1.1 Hello World Console应用程序using System;using System.Collections.Generic;using System.Text;namespace Hello_World class Program static void Main(string args) Console.WriteLine(Hello,
25、World!); Console.ReadKey( ); 第第1 1章章 C#.NETC#.NET概述概述29291.4 1.4 创建第一个创建第一个C#.NETC#.NET程序程序1.4.1 创建C#控制台应用程序 程序说明:(1)/using表示程序引用的库,以下的System、System.Collections.Generic和System.Text为控制台应用程序默认引用的库,这几个库由.NET Framework 2.0提供。(2)namespace为程序自动创建的一个命名空间,命名空间可以控制类、变量等的作用域。(3)class是类的意思,C#中的所有程序都由类构成,项目创建时自
26、动创建program类。(4)任何一个可执行的程序中都包含一个Main函数,它是程序的入口函数。程序启动时将执行Main函数中的代码。(5)Console.ReadKey用于使程序在执行完上面的代码后不立即退出,在用户按任意键后退出程序。第第1 1章章 C#.NETC#.NET概述概述30301.4 1.4 创建第一个创建第一个C#.NETC#.NET程序程序1.4.2 创建C#窗体应用程序 (1)启动Visual Studio 2005,选择【文件】|【新建】| 【项目】命令,弹出【新建项目】对话框。(2)在左侧【项目类型】列表中选择【Visual C#】,在右侧【模板】列表框中选择【Windows应用程序】。(3)在【名称】文本框中输入“First
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塑钢围栏施工方案
- 2024高考化学二轮复习题型专练五常见有机化合物含解析
- 共同租地合同范例
- 公司销售兼职合同范例
- 2025年环氧丙烷项目建议书
- 净水设备定销合同范例
- 养猪用地合同范例
- 环氧树脂管道施工方案
- 乡村土地租赁合同范例
- 涂料粉刷施工方案
- 2024年广东深圳市龙岗坂田街道招考综合网格员招聘笔试冲刺题(带答案解析)
- 人力资源外包投标方案
- 利那洛肽治疗便秘病例
- 2024年上海市杨浦区高三二模英语试卷及答案
- MOOC 高等数学(上)-西北工业大学 中国大学慕课答案
- 部编版小学语文四年级下册第二单元教材分析
- 等差数列公开课课件
- 2024年OTC焊接机器人基本操作培训
- 合肥通用职业技术学院单招《职业技能测试》参考试题库(含答案)
- 小学五年级《美术》上册知识点汇总
- 生物工程设备课件
评论
0/150
提交评论