• 1. 第1章 C#与.net简介
  • 2. 1.1 .NET Framework概述 1.2 C#概述 第1章 C#与.net简介
  • 3. 1.1.1 .NET 概述.NET是个笼统的说法 广义上是指MicroSoft公司的.NET战略。 狭义上是指.NET平台及其应用。 .NET战略:随着网络经济的到来,帮助用户在任何时候、任何地方、利用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐。 .NET开发平台是.NET战略中的核心和第一步,也是其他部分的基础和前提。
  • 4. .NET技术可以划分为规范和实现两部分
  • 5. CTS:通用类型系统Common Type System。 CTS解决了各个编程语言类型不一致的问题,是.NET 跨语言编程的基础规范,为多语言的互操作提供了便捷。 CTS是基于.NET 的语言共同使用一个类型系统,任何以.NET平台作为目标的语言必须建立它的数据类型与CTS的类型间的映射。 CLS:公共语言规范Common Language Specification。是一组规则,所有.NET语言都遵循此规则,创建与其他语言可互操作的应用程序。 CIL:通用中间语言Common Intermediate Language。是 .NET 语言编译产生的中间代码。使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言IL(Intermedate Language)的代码。 使用中间语言的优点有两点,一是可以实现平台无关性,即与特定CPU无关;二是只要把.NET框架某种语言编译成IL代码,就可以实现.NET框架中语言之间的交互操作。.NET技术规范——公共语言架构
  • 6. .NET Framework提供了必要的编译时和运行时技术来产生和运行.NET应用程序。 .NET应用程序,必须在安装了.NET Framework的计算机上才能运行。 .NET Framework包括一个公共执行引擎和一个丰富的类库。.NET技术实现—— .NET Framework
  • 7. 1.1.2 .NET Framework 的体系结构 .NET Framework是一个平台,它提供了一个多语言编程环境,同时集成了应用程序和服务,为Internet规模应用程序的部署和操作提供了高度的灵活性。 .NET Framework主要组成:.NET支持的语言、公共语言运行库(Common Language Runtime)、统一类库集。
  • 8. 1.1.3 . NET Framework 的组件.Net Framework支持的语言
  • 9. 公共语言运行库 NET应用程序运行在公共语言运行库之上的。 通过.NET源代码的编译过程理解CLR
  • 10. 公共语言运行库
  • 11. 公共语言运行库
  • 12. CLR负责与底层操作系统打交道的环节,而CLR提供的系统功能均封装在.NET Framework类库中,开发人员只要通过调用.NET类库即可访问系统功能。 .NET Framework类库是一个由 Microsoft .NET Framework SDK 中包含的类、接口和值类型组成的库。该库提供对系统功能的访问,是建立 .NET Framework 应用程序、组件和控件的基础 .NET框架类库提供了Internet和企业级开发所需要的各种功能,完全支持Web标准及其应用,而且使用简单、扩充方便。 .NET框架类库中有几千个类,分组在不同的命名空间中。.Net Framework的类库
  • 13. .Net Framework的类库命名空间:对类的一种划分形式,类似于目录和文件的划分形式 。
  • 14. .NET Framework类库(续) 所列出的命名空间包括以下这些:System:树的根,此命名空间包含 .NET Framework 类库中所有其他命名空间System.Web:此命名空间包含对于创建 Web 应用程序有用的类型,并且与很多命名空间一样,它有下级命名空间System.Data:此命名空间中的类型构成了 ADO.NET
  • 15. .NET Framework类库(续) 所列出的命名空间包括以下这些:System.Windows.Forms:此命名空间中的类型组成了Windows窗体,它们用于构建 Windows GUISystem.EnterpriseServices:此命名空间中的类型提供了某些类型的企业级应用程序所需要的服务System.XML:此命名空间中的类型提供对创建和使用由XML定义的数据的支持
  • 16. 硬件 CPU:Intel Pentium Ⅱ系300MHz,推荐Intel Pentium Ⅲ系列600MHz; RAM:96MB,建议128MB以上; 硬盘空间:250MB以上。 操作系统 Windows2000 Server/Advanced Server Windows NT 4、Windows 2000 Windows XP Windows vista 以上1.1.4 .NET Framework平台的搭建
  • 17. 软件 IE 5.5以上(必选) IIS 5.0以上(必选) Microsoft Visual Studio.NET或分别安装 .NET Framework可再发行组件包(必选) .NET Framework中文语言包(可选) .NET Framework SDK工具包(可选) MDAC 2.8数据库访问组件 (必选)以上安装文件均可在微软网站下载中心下载,网址为: http://www.microsoft.com/downloads/en/default.aspx dotnetfx.exe Langpack.exe setup.exe 1.1.4 .NET Framework平台的搭建mdac_typ.exe
  • 18. 1.1 .NET Framework概述 1.2 C#概述 第1章 C#与.net简介
  • 19. 1.2.1 C#语言概述 C#是从C和C++派生来的一种简单、现代、面向 对象和类型安全的编程语言。 C#是.NET平台上最重要的语言之一,C#的重要性 体现在以下两个方面: C#是Microsoft专门为 .NET Framework量身定做的。 C#是面向对象语言集大成之作。C# 吸取了C++和Java语言20多年的使用经验。
  • 20. C#的优点简洁的语法 面向对象设计 与Web紧密结合  完全的安全性与错误处理 灵活性和兼容性
  • 21. C#与C++语言的比较执行效率:C++编译出来是真正的可执行代码,而C#仅仅是一个中间态的代码,需要CLR才能执行,因此执行效率上明显低于C++代码。 内存管理:C++语言需要程序显式地删除动态分配给堆的内存,易造成内存泄露;而C#语言采用自动垃圾回收机制,避免了内存泄露,有利于系统的稳定性。 适用应用领域:C#适用于快速构建网络应用,而C++则适合于写对性能要求较高的应用,如驱动程序等。
  • 22. C#语言与Java语言的比较运行环境 Java的运行环境是JRE(Java Runtime Environment),只限于使用Java一种语言。 C#的运行环境是CLR(Common Language Runtime),提供了对多种语言(C#、VB、C++)的支持。 中间语言处理 Java源代码可以被编译成一种中间状态的字节代码,然后由Java虚拟机来解释执行这些字节代码,执行速度慢。 C#代码也被编译成一种中间语言代码(IL代码),IL被传输到由CLR管理的执行进程上,然后通过CLR的JIT编译器编译成本地代码执行,执行速度快。
  • 23. C#语言与Java语言的比较操作系统 Java是跨平台的,可应用于不同的操作系统上。 C#只能应用在Windows操作系统上。 主要服务对象 Java的主要服务对象为一些需要达到高安全性、高伸缩性、跨平台等要求的大型企业。 C#主要服务对象为一些需要提高开发速度降低成本的中小企业,因为C#以快速开发而著称。
  • 24. 1.2.3 C#应用程序的结构 控制台应用程序 Windows应用程序 Web应用程序 C#语言可以编写三类应用程序
  • 25.  程序一般包括以下几部分: 命名空间的引用:使用using关键字指明引用的名称空间。 命名空间的声明:使用namespace关键字声明名称空间。 类:使用class关键字声明类。 Main方法:Main方法是C#程序的入口。  一个文件中可以有1个或者多个类。 所有语句都以分号“;”结束。 注释 单行注释:以“//”开头的注释,注释在该行的末端结束。 多行注释:以“/*……*/”的多行注释。 XML文档注释,以“///”开头的是XML文档注释1.2.3 C#应用程序的结构
  • 26. using System; namespace ConsoleTest { class HelloName { private string s="张三"; private int i=5; public HelloName() { Console.WriteLine("hello {0},I have {1} books!",s,i); }1.2.3 C#应用程序举例
  • 27. static void Main(string[] args) { int i=1; Console.WriteLine("The first is:{0}",i); Console.Write("Please enter your name: "); string strName = Console.ReadLine(); Console.WriteLine("Hello " + strName+" !"); HelloName hello=new HelloName(); hello.i=6; Console.WriteLine("hi {0},I have {1} books!",hello.s,hello.i); HelloMe me=new HelloMe(); me.Welcome(); Console.Read(); } }
  • 28. class HelloMe { private string s="王五"; private int i=10; public HelloMe() { Console.WriteLine("hello {0},I have {1} books!",s,i); } public void Welcome() { i=11; Console.WriteLine( "hi I have {0} books,Welcome to using C#.NET!",i); } } }
  • 29. 运行结果如图所示:
  • 30. 上机
  • 31. 上机
  • 32. 上机
  • 33. 控制台程序基本框架using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { } } }
  • 34. 小结 本章学习了计算机网络基础知识、 .NET Framework基本概念和.NET Framework类库知识。.NET Framework类库包含开发人员可用于简化其开发工作的类。
  • 35. 习题1. 填空题 (1) 本章所讨论的三类编程语言包括机器语言、__________ 和____________。 (2) 从应用平台上来说,最常见的两大类软件是__________和__________。 (3) Visual Studio 是开发C#程序的________________。 (4) C#的每行语句以______结尾。 (5) 在________之后可以书写不跨行的注释。 (6) C#程序的执行总是从________方法开始。 (7) 方法________和__________可以在控制台窗口中显示信息。
  • 36. 习题(续) 2. 判断正误,如果错误,请说明原因 (1) 计算机可以直接理解高级语言. (2) 编译后的程序比边解释边执行的程序的运行速度要快.
  • 37. 习题(续)3. 编程题 在控制台窗口中显示如下一行(不包 括双引号): “这是C#程序”
  • 38. 习题(续)4. 问答题 现在小王要安装Visual Studio 2005,他的计算机运行环境是Windows 98,系统内存为256 MB。在安装过程中,他会遇到困难吗?如果遇到困难,该如何解决?