• 1. C#程序设计刘淑辉(ise_liush@ujn.edu.cn) 计算机应用教研中心 信息楼805 Tel:82767528 QQ:757791474 手机:13173007738
  • 2. C#语言程序设计
  • 3. C#语言程序设计
  • 4. C#语言程序设计
  • 5. Microsoft .NET技术1.NET Framework2C#语言简介3Visual Studio集成开发环境4C#程序的基本结构5与用户进行交互6第1章 绪论本章主要内容
  • 6. CORBA(OMG-对象管理组) COM/DCOM(Microsoft) JavaBeans(Sun) 为满足以资源共享和协同工作为主要特征的网络分布计算的应用需求,20世纪90年代出现了三种典型的组件技术:1.1 Micosoft .NET 技术
  • 7. .NET计划是微软2000年6月提出的其进军互联网的一项庞大计划。是一整套的开发平台,内容几乎涵盖程序开发的任何方面。目标是实现“在任何时间、任何地点,采用相应的设备以获取所需的信息”。C#语言是该计划中旗帜性的开发语言。从程序员的眼光看,.NET就是一组用于建立Web服务器应用程序和Windows桌面应用程序的软件组件。Visual Studio .NET是微软的技术开发平台。C#语言就集成在其中。1.1 Micosoft .NET 技术
  • 8. Microsoft为.NET技术制定了一套完整的规范,并提交到ECMA等标准化组织,以促进.NET的广泛应用。这就是公共语言架构(Common Language Infrastructure——CLI)公共语言架构包括以下组成部分: 通用类型系统(Common Type System——CTS) 定义了一套类型系统的框架,规定了数据类型的声明、使用和管理方法。.NET中的任何类型都必须遵守其中的约定。 1.1 Micosoft .NET 技术
  • 9. 通用中间语言(Common Intermediate Language——CIL) 一种中性语言,是一套处理器无关的指令集合。任何.NET编程语言所编写的代码可以被编译成通用中间语言指令集。1.1 Micosoft .NET 技术 公共语言规范(Common Language Specifeication——CLS) 一组语言规则的集合。 标准的.NET编程语言:符合其中的所有规则。 标准的.NET组件:组件中的代码使用了其中规定的功能。其他相关的标准化文件、格式、规定等。
  • 10. 公共语言架构是.NET的技术规范,Microsoft在Windows平台上针对该规范进行了完整的实现,这就是.NET Framework,它包括.NET类库和公共语言运行时(CLR)两大部分。1.2 .NET Framework
  • 11. 操作系统Common Language Runtime Common Type System硬件设备Common Language SpecificationWindows FormASP .NETADO .NETWPFWCFWFLINQ……ERPCRMSCM电子商城…….NET Framework的体系结构1.2 .NET Framework基础类型.NET类库.NET Framework
  • 12. .NET Framework操作系统CLR各种硬件设备VB .NET 源程序VC++ .NET 源程序C# 源程序F# 源程序VB.NET 编译器VC++.NET 编译器C# 编译器F# 编译器exe/dll (指令/元数据)本地代码 .NET程序的运行环境1.2 .NET Framework
  • 13. .NET类库是一个完全面向对象的类型集合,其中定义了大量的可重用对象和组件,主要包括类、接口和值类型,运行在CLR平台之上。.NET Framework包括.NET类库和公共语言运行时(CLR)两大部分。1.2 .NET Framework
  • 14. .NET类库具体包括以下内容基础类型定义 数据结构封装 Windows界面要素 Web界面要素 Web Service1.2 .NET FrameworkXML文档处理 文件输入输出 数据访问 类型反射 异常处理
  • 15. 管理代码的执行 各类.NET应用程序的代码被编译为通用中间语言。在程序执行时,CLR将通用中间语言翻译为具体的机器指令,负责加载所需的元数据类型、组件及其他各种资源,并在执行过程中提供安全性管理、错误处理、垃圾回收、版本控制等服务。 提供通用类型系统 CLR定义了一套完整的、符合通用类型系统约定的元数据类型集合,为组件的资源控制、版本管理,以及组件之间的交互提供了关键性的信息。 提供系统服务 CLR屏蔽了底层操作系统和硬件的特性,应用程序是在该虚拟机上而不是在操作系统上直接运行 ,由CLR与操作系统打交道。公共语言运行时(CLR)—C#程序的虚拟机
  • 16. C#语言是在C、C++和Java语言的基础上重新构建的,其语法与C++和Java语言相似。C#语言是一种基于.NET Framework、完全面向对象的、类型安全的编程语言,是.NET的首选编程语言。C#语言是在2000年6月26日微软在奥兰多举行的“ 职业开发人员技术大会” (PDC 2000)上正式宣布的。1.3 C#语言简介C#(C sharp)语言是由Anders Hejlsberg主持开发。
  • 17. C#语言的特点:简洁的语法 完全面向对象 与Web紧密结合 充分的安全性和错误处理 灵活性 兼容性1.3 C#语言简介
  • 18. C#1.0/1.1基本结构C#2.0泛型可空类型遍历器匿名方法分部类型C# 3.0/3.5对象创建表达式Lambda表达式隐式类型匿名类型自动属性扩展方法分部方法C# 4.0可选参数和命名参数Tuple类型动态绑定协变与逆变C#语言与.NET技术的发展更新1.3 C#语言简介
  • 19. .NET Framework 1.0/1.1基本框架.NET Framework 2.0泛型.NET Framework 3.0/3.5WPF,WCF,WF,LINQ.NET Framework 4.0DLR, SilverlightVisual Studio 2002/2003Visual Studio 2005Visual Studio 2008Visual Studio 2010Visual Studio .NET的发展1.4 Visual Studio .NET 集成开发环境Visual Studio 2012支持.NET4.5,但需要Win7/8支持Visual Studio 2013RC支持.NET4.5.1,但需要Win8.1RTM版的支持
  • 20. 控制台应用程序 Windows应用程序(桌面应用程序) Web应用程序 移动设备应用程序使用C# 语言可以开发各类应用程序1.5 C#程序的基本结构
  • 21. 第一个C# 应用程序namespace P1_1 { class Program { static void Main(string[] args) { Console.WriteLine(“Welcome to .NET”); } } } using System;1.5 C#程序的基本结构
  • 22. 创建和编辑C#程序有两种基本方式:使用Windows记事本等文本编辑器输入源程序代码,保存为扩展名为.cs的文件; 打开Windows控制台窗口,定位到.NET Framework所在的目录,使用C#编译器(csc.exe)对源文件进行编译,生成可执行文件; 运行生成的可执行文件,即可在控制台窗口输出。第一种方式是使用记事本1.5 C#程序的基本结构提示:C#编译器csc.exe位于系统WINDOWS目录下的“\Microsoft .NET\Framework\v*.*”
  • 23. 新建项目,选择“文件”-“新建”-“项目”命令; 选择项目使用的语言(Visual C#)、类型(控制台应用程序),可指定项目名称和位置; VS自动生成控制台应用程序的代码框架; 在Main方法中输入相应代码,实现相应功能; 按Ctrl+F5组合键可生成执行程序,在自动打开的控制台窗口输出。第二种方式是使用Visual Studio .NET集成开发环境1.5 C#程序的基本结构
  • 24. 1.5 C#程序的基本结构类型和方法 Console.WriteLine(“Welcome to .NET”); (1)C#中,程序的各种操作都是通过方法实现的,任何方法都必须属于一个类型。 (2)C#程序中,Main方法定义了程序的入口点。每个C#可执行程序都要从一个Main方法开始执行,到Main方法结束。Main方法需定义为静态(static)的,没有返回值(void)。演示:类的定义、方法的定义和使用(P1_1.cs)
  • 25. 1.5 C#程序的基本结构 命名空间 namespace P1_1 { //定义数据类型 } (1)命名空间是C#代码的基本组织形式:命名空间.类型.成员。 P1_1.Program.Main(); System.Console.WriteLine(“Welcome to .NET”); (2)使用namespace定义命名空间。可以很好地解决类的重名问题。如: CompanyA.ClassA 和 CompanyB.ClassA Graduate.Student 和 Undergraduate.Student 其中的CompanyA、CompanyB,Graduate和UnderGraduate都是指命名空间
  • 26. 1.5 C#程序的基本结构 命名空间 using System; 表示引用了.NET类库中一个名为System的命名空间,这样就可以使用System命名空间中的Console类。 System.Console.WriteLine(“Welcome to .NET”); (3) 使用using关键字引用命名空间,也可以为引用的命名空间指定简称。 using Sys=System; Sys.Console.WriteLine(“Welcome to .NET”); (4)命名空间声明可以嵌套。也可以在几处声明,编译时会合成。
  • 27. 1.5 C#程序的基本结构程序注释 (1)多行注释(规则注释)/*……*/。不能相互嵌套。 (2)单行注释// 温馨提示: 优秀的程序员都应当养成注释代码的良好习惯!!!
  • 28. 1.5 C#程序的基本结构/* 第一个C#程序清单P1_1.cs 本程序用于在控制台输出一行字符 */ using System; //引入命名空间System namespace P1_1 //定义命名空间P1_1 { class Program //定义类Program { static void Main(string[] args) //定义主方法 { Console.WriteLine(“Welcome to .NET”); } } }
  • 29. 1.5 C#程序的基本结构程序集 (1)是C#应用程序的基本组织单元。如:P1_1.exe (2)有两种程序集文件格式:EXE和DLL (3)mscorlib.dll程序集是.NET类库中最基本的一个程序集,其中定义了各种最为常用的基础类型。演示:程序集的添加(P1_2.cs)温馨提示: 系统自动引用mscorlib.dll程序集,不能手动添加。
  • 30. .NET中的常用命名空间所在的程序集命名空间所在的程序集Systemmscorlib.dll System.dllSystem.IOmscorlib.dll System.dllSystem.XmlSystem.Data.dll System.Xml.dllSystem.DataSystem.Data.dllSystem.NetSystem.dllSystem.Reflectionmscorlib.dllSystem.Securitymscorlib.dll位于 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
  • 31. 1.6 与用户进行交互给程序传递参数using System; namespace P1_3 { class Program { static void Main(string[] args) { Console.Write(“你好,”); Console.WriteLine( ); } } }args[0]演示:给Main方法传递参数(P1_3.cs)
  • 32. 1.6 与用户进行交互控制台交互 Console是命名空间System中预定义的一个类,用于实现控制台应用程序的输入输出。Console类的常用方法名称 接受参数 重载 返回值类型 用途Read 无 无 int 从输入流读入下一个字符,至换行符结束 ReadKey 无 无 ConsoleKeyInfo 从输入流读入一个字符 ReadLine 无 无 string 从输入流读入一行文本,至换行符结束 Write string 有 void 输出一行文本 WriteLine string 有 void 输出一行文本,并在结尾处自动换行演示:控制台交互(P1_4.cs、 P1_5.cs)
  • 33. Windows窗体和WPF应用程序1.6 与用户进行交互 多数商业应用软件都需要丰富的图形用户界面(GUI),Windows本身就是一个图形界面操作系统。 每个Windows应用程序至少包含一个Windows窗体,用户通过窗体提供的可视化控件与程序进行交互。 private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Welcome to .NET"); }
  • 34. Windows窗体和WPF应用程序1.6 与用户进行交互 WPF应用程序是.NET平台上另一种风格的Windows应用程序,使用了新的控件布局模型、界面描述语言以及底层绘图引擎,更适合开发Windows7/8系列风格的程序界面。 private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Welcome to .NET"); }
  • 35. 本章小结NET技术可分为两大部分:规范(CLI)和实现(.NET Framework). C#是专门针对.NET的高级编程语言。 类是C#语言中最基本的一种数据类型,程序功能主要通过类的方法来实现。 C#使用命名空间来组织各种数据类型,而命名空间又包含在物理程序程序集中。 任何可执行程序都必须有一个入口点,该入口点由一个Main方法定义。 不管是控制台应用程序还是Windows应用程序都免不了与用户交互。Console类提供了控制台应用程序与用户进行交互的基本方法。
  • 36. C#语言程序设计