1、1.1 C#语言及其发展简介 1.2 Visual Studio开发环境的功能和特点 1.3 C#应用程序的一般结构 1.4 断点设置与程序调试 1.5 C#代码编写命名建议,第1章 概述,本章主要解决的3个问题:,C#语言及面向对象程序设计的特点?(P2-3) 使用.NET平台如何建立控制台应用程序、Windows窗体应用程序和ASP.NET Web应用程序?(P7-10) C#应用程序的一般结构是怎样的?当中应该注意哪些问题?(P10-15),1.1 C#语言及其发展简介,1.1.1 C#语言的特点,简洁的语法。 精心的面向对象设计。 与Web的紧密结合。 安全的安全性与错误处理。 版本处
2、理技术。 灵活性和兼容性。,C#语言的特点如下:,面向对象程序设计的三大特性:封装性、继承性、多态性。,1.1.2 C#语言的发展历程,2000年,C#语言诞生。 2003年,微软发布了C#语言规范1.2(简称C#1.2),VS.NET 2003使用的是C#1.2。 2005年,微软发布了C#语言规范2.0(简称C#2.0),VS2005使用的是C#2.0。 2007年,微软发布了C#语言规范3.0(简称C#3.0),VS2008使用的是C#3.0。,1.1.3 C#语言与其他语言的比较,C#与C+的对比,C#与Java的对比,C#与VB.NET的对比,1.2 VS开发环境的功能和特点,一种框
3、架,多种语言框架:类似于Java的虚拟机,但在内部实现上与Java相比有本质区别,不是字节码,速度比Java快。语言:支持C#、C+、VB、J#,Visual Studio工具发展阶段,Visual Studio 2003年,微软发布了Visual Studio.NET 2003(简称VS.NET 2003)和.NET Framework 1.1。 2005年,微软发布了Visual Studio 2005(简称VS2005)和.NET Framework 2.0。 2006年,微软发布了.NET Framework 3.0。 2007年,微软发布了Visual Studio 2008(简称V
4、S2008)以及.NET Framework 3.5。 2008年,微软发布了Visual Studio 2008 SP1以及.NET Framework 3.5 SP1。,Visual Studio 2008,Visual Studio 2008 的各个版本 VS2008 Team版本 用于大型团队开发 VS2008 Professional版本 用于大中型软件公司 VS2008 Standard版本 用于小型软件公司 VS2008 Express版本 用于业余开发者(免费) 本课的上机实验环境:VS2008 Professional SP1(4.6GB),1.2.1 Microsoft.N
5、ET Framework,Microsoft.NET Framework(简称.NET框架)是生成和运行.NET 应用程序和Web Service的组件库。 .NET框架包括两个主要组件: 公共语言运行库(简称运行库)。 类库。 .NET框架的特点:一种框架、多种语言。 .NET框架支持的语言有:除了基于.NET框架的C#语言、VB.NET语言、C+.NET语言以及和Java语言语法完全相同的J#语言外,还有基于.NET框架的FORTRAN语言、Pascal语言、COBOL语言、PERL语言、Python语言和Eiffel语言等其他高级语言。,Microsoft.NET Framework,公
6、共语言运行库,公共语言运行库(Common Language Runtime,CLR) 托管代码与非托管代码 凡是使用符合公共语言规范的程序语言开发的程序,均可以在任何安装有CLR的操作系统中执行。 使用.NET提供的编译器可以直接将源程序编译为.EXE或者.DLL文件,但是编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言(IL: Intermediate Language)代码。,运行库(续),使用中间语言代码的好处 (1)可以实现平台无关性,即与特定的CPU无关 (2)可以实现不同语言之间的交互 在.exe文件被调用执行时,CLR的Class Loader会将需要的IL
7、代码装入内存,然后再通过即时编译(Just-In-Time)方式将其临时编译成所用平台的CPU可直接执行的机器代码。,类库,类库(Class Library)是一个与公共语言运行库紧密集成的可重用的类的集合。 类库提供了Internet和企业级开发所需要的各种功能,完全支持Web标准及其应用,而且使用简单,扩充方便。 类库分配到不同的命名空间下。,1.2.2 应用程序模板,VS2008中提供的常用应用程序模板: 控制台应用程序。 Windows应用程序。 ASP.NET Web应用程序。 ASP.NET Web服务应用程序。 智能设备应用程序。 安装和部署应用程序。,程序演示,例1-1 控制台
8、应用程序 演示:编写一个控制台应用程序,显示“Hello World”。,程序演示,例1-2 Windows应用程序 演示:用Windows窗体应用程序的Label控件显示“Hello World” 。,程序演示,例1-3 ASP.NET 网站 演示:创建一个Web应用程序显示“Hello World” 。,1.3 C#应用程序的结构,每一个用C#语言编写的应用程序均由一个或者多个类组成,所有的程序代码都必须封装在某个类、结构、枚举、委托或者接口中。C#语言和C+、Java语言一样,也区分大小写。,1.3.1 命名空间,命名空间:是对类的一种划分形式,类似于目录和文件的划分形式 。,using
9、关键字,在C#中,using关键字有3个用途 (1)指定引用的命名空间,例如: using System.Windows.Forms; (2)简化命名空间的层次表达形式,例如: using WinForm=System.Windows.Form; (3)作为语句,定义一个范围。例如: Font font1 = new Font(“Arial“, 10.0f);using (font1) 程序执行到“”时,就会自动释放font1对象。,1.3.2 Main方法,每个应用程序必须有一个入口点,入口方法名规定为Main。 Main方法声明为public static,除非有特殊理由,一般不要更改Ma
10、in方法的声明。 Main方法的返回值只能是void或者int。 Main方法可以放在任何一个类中。一个应用程序中必须有一个类包含Main方法。,1.3.3 文件结构,一个应用程序由一个或者多个类组成。 任何一个程序功能都必须封装在某个类中。 一个应用程序可以由一个文件组成,也可以有多个文件组成,文件名可以和类名相同,也可以不同。 建议:每个类一个文件,文件名最好和类名相同。 C#源程序文件的扩展名为.cs,一个源文件中可以有一个类,也可以有多个类 。 类中的每一个方法都要有一个返回值,对于没有返回值的方法,可以声明返回值为void。 如果在类的定义中加上partial修饰符,也可以把一个类分
11、散保存到多个文件中,编译器在编译时会将具有相同名称的类自动组合到一起。,1.3.4 程序代码注释,/ 常用,利用快捷方式操作 /* */ 不常用 / 常用 XML格式注释,C#程序一般格式举例,using System; namespace ConsoleApplicationExample class Programstatic void Main(string args)int i = 1;Console.WriteLine(“The first is:0“, i);Console.Write(“Please enter your name: “);string strName = Con
12、sole.ReadLine();Console.WriteLine(“Hello “ + strName + “!“);HelloName helloName = new HelloName();HelloMe helloMe = new HelloMe();helloMe.Welcome();Console.ReadLine();,class HelloName private string s = “张三“;private int i = 5;public HelloName()Console.WriteLine(“hello 0,I have 1 books!“, s, i); clas
13、s 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“, i);,对C#应用程序的几点说明,使用using关键字指明引用的命名空间。 使用namespace关键字声明命名空间。 使用class关键字声明类,类中包含了程序所要用到的数据和所要执行的方法的定义。每个类中可以有字段声明、
14、构造函数 、属性 、方法 、事件 等等。 所有单条语句都以分号“;”结束,语句块则用大括号“ ”括起来。,1.4 断点设置与程序调试,设置和取消断点 单击某代码行左边的灰色区域。单击设置,再次单击取消设置。 鼠标右击某代码行,选择【断点】【插入断点】或者【删除断点】。 单击某代码行,直接按键进行设置或取消设置。,1.4 断点设置与程序调试,利用断点调试程序 按执行到断点,再按到下一断点,按+键终止调试。 逐过程逐语句,1.5 C#代码编写命名建议,类名、方法名和属性名均使用Pascal命名法,即所有单词连写,每个单词的第一个字母大写,其他字母小写。例如:HelloWorld、GetData等。 变量名、一般对象名、控件对象名以及方法的参数名均使用Camel命名法,即所有单词连写,第一个单词全部小写,其他个单词的第一个之母大写。例如:userName、userAge等。,