1、.NET程序设计,主讲教师:李璟 联系电话:13806419626 E-mail: ,教材与教学参考书,(1)教材:ASP.NET 3.5(C#)实践教程 邵良杉 主编 清华大学出版社 (2) C#网络应用编程基础马骏 主编 人民邮电出版社 (3)完全手册HTML+CSS+JavaSrcipt实用详解叶青 编著 电子工业出版社 (4)圣殿祭司的ASP.NET2.0开发详解使用C# 溪江华 主编 电子工业出版社,课程总成绩,总成绩: 考勤,占20%(出勤次数达不到1/3者取消考试资格)。 作业+实验报告,占20%。 综合设计,占60%,分为: 设计说明书(电子版) 50% 演示与答辩 50% 综
2、合设计可采用团队形式进行,每队12人,明确分工权重,用于评分。,综合设计题目,使用C#设计一个基于ASP.NET的综合动态网站,其中至少有8个动态页面,题目如: 公共信息交流网 博客管理系统 仓库管理系统 新闻与公文发布系统 酒店管理 网上论坛 教务管理系统 医院管理系统 图书管理系统 网上超市、网上花店 其他,本课教授的主要内容,C#.NET(6学时+4学时) HTML+CSS+DIV(8学时+4学时) ASP.NET+ADO.NET(22学时+8学时),时间和地点安排(网络09),课堂教学: 周一:BW215 周二:BW102 实验教学: 上机时间:7-14周周二 上机地点:XX207、X
3、X209,时间和地点安排(软件09),课堂教学: 周三:BW304 周五:BW304 实验教学: 上机时间:7-14周周三 6、7节 上机地点:XX207、XX209,教学内容(1),.NET概述 C#程序设计基础(一) C#程序设计基础(二) 网页制作(一) 网页制作(二) 网页制作(三) 网页制作(四) 网页制作(五) ASP.NET内置对象 Web服务器控件(一) Web服务器控件(二),教学内容(2),实验1:C#基本编程方法 Web服务器控件(三) 实验2:C#面向对象编程 ADO.NET+SQL Server 实验3:HTML网页设计 Web 数据绑定技术(一) 实验4:CSS+D
4、IV 网页布局与样式 Web 数据绑定技术(二) 实验5:ASP.NET内置对象 ASP.NET Web应用开发,教学安排(3),实验6:ASP.NET 服务器控件 ASP.NET动态网站开发案例讲解(一) 实验7:ADO.NET管理数据库 ASP.NET 动态网站开发案例讲解(二) 实验8:ASP.NET Web应用程序开发 综合设计答辩 综合设计答辩 综合设计答辩 综合设计答辩,公共邮箱,用于上传课件和交流。(仅用于内部交流,不要外传,切记!)邮箱地址:密码:webdesign,本课的学习方法,上课认真听讲。 及时到公共邮箱下载教学课件。 高质量并按时完成作业和实验报告。 购买或借阅参考书
5、。 下载并阅读电子参考书。 自行安装VS.NET2008开发环境,课下多进行上机练习。 多学习经典例程和案例。 多实战演练。 与老师同学积极交流互动。,第一讲 .NET概述,了解.NET框架。 了解C#语言的优点。 掌握C#控制台应用程序的基本结构。 重点和难点:.NET框架、C#控制台应用程序的基本结构。,第一讲 .NET概述,1.1 .NET概述 1.2 .NET框架概述 1.3 C#语言概述 1.4 C#控制台应用程序的基本结构,1.1 .NET概述,.NET其实是个笼统的说法, 广义上是指MicroSoft公司的.NET战略。 狭义上是指.NET平台及其应用。 .NET战略:随着网络经
6、济的到来,帮助用户在任何时候、任何地方、利用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐。 .NET开发平台是.NET战略中的核心和第一步,也是其他部分的基础和前提。,VS.NET,Microsoft Visual Studio.NET(简称VS.NET)是MicroSoft公司为适应Internet高速发展的需要,而隆重推出的开发平台,是Windows 平台应用程序开发环境。 Visual Studio(VS) 是一套完整的开发工具,提供了大量的实用工具以提高工作效率,用于生成ASP.NET Web应用程序、 Windows应用程序、控制台应用程序、XML Web Servic
7、es和移动应用程序。 VB、C#、VC+、J#都使用这一相同的集成开发环境(IDE),这样就能够进行工具共享,并能够轻松地创建混合语言应用程序。 VS.NET最常用的功能就是开发ASP.NET Web应用程序(即ASP.NET网站)。,Visual Studio.NET的发展史,2001年,微软推出了Visual Studio.NET的第一个版本VS.NET 2002开发平台,基于.NET Framework 1.0。 2003年,微软发布了基于.NET Framework 1.1 的VS.NET 2003开发平台,增强了功能和安全性。 2005年,微软又发布了基于.NET Framework
8、 2.0的VS2005开发平台,加入了大量的类库API和控件,植入了适用于大型团队开发的各种优秀的复杂功能,是一种全面的、先进的、成熟的高级软件开发平台。 2008年,微软又发布了基于.NET Framework 3.5的VS2008开发平台,在.NET Framework 2.0的基础上强化了对网页应用开发的支持,以及多重版本.NET的自订功能。 2010年4月,微软发布了基于.NET Framework 4的VS2010开发平台,主要新特征是:支持云计算架构;搭配Windows 7;发挥多核并行运算威力;更好支持C+。,2008年.NET开发框架版本的应用状况,实践证明, .NET 2.0
9、使ASP.NET 2.0摆脱了很多以前ASP.NET版本不够完善的状况,加入了大量的类库API和控件,并已经发展成为了一种完全成熟的产品。它能将Web编程代码数量减少到70%或者更多。国内外绝大多数中小型企业都使用.NET 2.0来构建业务系统。.NET3.5在.NET2.0基础上主要增加了AJAX网页应用开发技术以及多重版本.NET的自订功能。目前,随着.NET 3.5日益被技术人员熟练地使用,越来越多的企业开始使用.NET3.5来构建新项目。,1,本课教授的.NET版本,VS2008支持在2.0,3.0和3.5三种.NET版本下开发项目,VS2005的项目可以平稳的升到VS2008上。 鉴
10、于目前书店里.NET 2.0(VS2005)参考书比较少,所以基本上以.NET 3.5(VS2008)参考书为主学习.NET程序开发,同时在必要时补充有关.NET 2.0的内容。 注:同一台机器上可以同时安装VS2005和VS2008,不会发生冲突。,.NET 框架(Framework)提供了必要的编译时和运行时技术来产生和运行.NET应用。.NET应用程序,必须在安装了.NET框架的计算机上才能运行。 .NET框架包括一个公共执行引擎和一个丰富的类库。,1.2 .NET框架概述,.NET Framework 体系架构图,1.2 .NET框架概述,1.2.1 公共语言运行库 1.2.2 公共语
11、言规范 1.2.3 .NET Framework类库,1.2.1 公共语言运行时 (Common Language Runtime, CLR),同Java虚拟机JVM相似, 公共语言运行时CLR也是一个操作系统之上的运行环境。 CLR是.NET框架的基础,可被看作是一个执行时管理代码的代理,提供诸如内存管理、线程管理和远程处理等核心服务,保证实施代码的安全性、可靠性和准确性。 CLR保证了应用和底层系统的分离,负责所有托管.NET应用程序的执行。,CLR的运行机制,使用.NET提供的编译器编译出来的程序代码是一种中间语言IL代码。 代码执行时,CLR将需要的IL代码即时编译成本地机器CPU上可
12、直接执行的机器码(即本地代码)来执行,执行速度大大提高。,CLR的优点,CLR所负责的应用程序在执行时是托管的,托管代码带来的好处有: 跨语言调用 内存管理 安全性处理,1.2.2 公共语言规范 (Common Language Sepacification,CLS),公共语言规范 (CLS), CLR定义的语言特性集合。 .net平台是基于多种语言的开发平台,公共语言规范通过定义一组开发人员可以确信在多种语言中都可用的功能,来增强和确保语言互用性。,1.2.3 .NET Framework类库,CLR负责与底层操作系统打交道的环节,而CLR提供的系统功能均封装在.NET Framework类
13、库中,开发人员只要通过调用.NET Framework类库即可访问系统功能。 .NET框架类库提供了Internet和企业级开发所需要的各种功能,完全支持Web标准及其应用,而且使用简单、扩充方便,是建立.NET应用程序以及组件和构件的基础。 .NET Framework 类库是一个由 Microsoft .NET Framework 中包含的类、接口和值类型组成的库,是按照命名空间组织命名的,.NET Framework类库有八十多个命名空间,每个命名空间有上千个类。,命名空间,命名空间是一种组织.net程序中出现的不同类型的方式,它可以最大程度地减少名称相似的类型和方法引起的混淆。 命名空
14、间在概念上与计算机文件系统中的文件夹有些类似。与文件夹一样,命名空间可使类具有唯一的完全限定名称并易于查找和记忆。 一个 .net程序包含一个或多个命名空间,每个命名空间或者由程序员定义,或者作为之前编写的类库的一部分定义。 .NET Framework类库已有八十多个命名空间,每个命名空间有上千个类。 例如, .NET Framework类库中最常用的命名空间 System 包括 Console 类,该类包含读取和写入控制台窗口的方法。 System 命名空间还包含许多其他命名空间,如 System.IO 和 System.Collections。,命名空间示意图,System,Data,I
15、O,Oledb,Sqlclient,类,类,类,类,类,类,类,类,类,类,类,类,Collections,类,类,类,.NET 框架类中的命名空间举例,注:所有命名空间详见帮助文档中的“.NET Framework 类库-参考信息-.NET Framework 类库参考”。,.NET Framework 类库参考,1.3 C#语言概述,C#是从C和C+派生来的一种简单、现代、面向对象和类型安全的编程语言。C#是.NET平台上最重要的语言之一,C#的重要性体现在以下两个方面: C#是Microsoft专门为 .NET Framework量身定做的。 C#是面向对象语言集大成之作。C# 吸取了C
16、+和Java语言20多年的使用经验。,C#的主要优点:,作为专门为.NET设计的语言,C#不但结合了C+强大灵活和Java语言简捷的特征,还吸取了VB所具有的易用性。 C#提高了开发者的效率,同时也保持了开发者所需要的强大性和灵活性,致力于消除编程中可能导致严重结果的错误。,C#与C+语言的比较,C#语言和C+各有自身的优点,主要包括: 执行效率:C+编译出来是真正的可执行代码,而C#仅仅是一个中间态的代码,需要CLR才能执行,因此执行效率上明显低于C+代码。 内存管理:C+语言需要程序显式地删除动态分配给堆的内存,易造成内存泄露;而C#语言采用自动垃圾回收机制,避免了内存泄露,有利于系统的稳
17、定性。 适用应用领域:C#适用于快速构建网络应用,而C+则适合于写对性能要求较高的应用,如驱动程序等。,C#语言与Java语言的比较(1),C#语言和Java语言都是网络编程语言,语法和功能非常相似,但也有很多不同点: 运行环境 Java的运行环境是JRE(Java Runtime Environment),只限于使用Java一种语言。 C#的运行环境是CLR(Common Language Runtime),提供了对多种语言(C#、VB、C+)的支持。 中间语言处理 Java源代码可以被编译成一种中间状态的字节代码,然后由Java虚拟机来解释执行这些字节代码,执行速度慢。 C#代码也被编译成
18、一种中间语言代码(IL代码),IL被传输到由CLR管理的执行进程上,然后通过CLR的JIT编译器编译成本地代码执行,执行速度快。,C#语言与Java语言的比较(2),操作系统 Java是跨平台的,可应用于不同的操作系统上。 C#只能应用在Windows操作系统上。 主要服务对象 Java的主要服务对象为一些需要达到高安全性、高伸缩性、跨平台等要求的大型企业。 C#主要服务对象为一些需要提高开发速度降低成本的中小企业,因为C#以快速开发而著称。,1.4 C#控制台应用程序的基本结构,1.4.1 命名空间调用方法 1.4.2 C#控制台应用程序的基本结构 1.4.3 创建C#控制台应用程序的步骤
19、1.4.4 C#程序代码注释 1.4.5 命名约定,1.4.1命名空间调用方法,在应用程序中如果要调用命名空间下某个类提供的方法,可以使用下面的语法:命名空间.命名空间命名空间.类名.静态方法名(参数, );或命名空间.命名空间命名空间.实例名.方法名(参数, ); 例如:System.Console.WriteLine(“Hello World”);为了快速引用需要的功能,一般在程序的开头引用命名空间来简化代码书写形式。引用命名空间的形式如下:using System;程序中改为:Console.WriteLine(“Hello World”);,如: class HelloWorld st
20、atic void Main( )System.Console.WriteLine(“Hello World”); 可改为: using System; class HelloWorld static void Main( )Console.WriteLine(“Hello World”); ,1.4.2 C#控制台应用程序的基本结构,下面通过一个最简单的控制台应用程序Welcome .cs来说明C#控制台应用程序的基本结构: using System; namespace SimpleConsoleApp class Welcomestatic void Main(string args)
21、Console.WriteLine(“Welcome!”);Console.ReadLine(); ,C#控制台应用程序的基本结构,使用using关键字指明引用的命名空间。 最好使用namespace关键字声明应用程序本身的命名空间,便于不同文件中但属于相同命名空间的类之间可以相互调用。 C#源程序文件的扩展名为.cs,任何一个程序功能都必须封装在某个类中,使用class关键字声明类。 一个应用程序至少由一个文件组成,一个文件中至少有一个类。建议:每个文件放一个类,文件名和类名相同。 一个C#控制台应用程序中必须有一个类包含应用程序的入口点Main方法。 所有语句都以分号“;”结束。,Main
22、方法,Main方法中的M必须为大写字母。 Main方法可以使用4种签名: static void Main() static void Main(string args) static int Main() static int Main(string args) 其中, 1)Main()必须是静态(static)的方法。 2)Main()的参数args是在运行期间从应用程序的外部接受命令行参数方法。如,winapp “myfile.txt” 3)Main()的返回值int值,用于表示应用程序如何终止,通常用作一种错误提示(但不是强制的),一般情况下,返回0反映了“正常”的终止。,1.4.3用
23、C#.NET创建控制台应用程序,控制台应用程序也叫Console应用程序,用于在命令行方式下运行,适用于对界面设计要求不高、偏重于快速实现程序逻辑功能的场合。 例1 创建并编写一个控制台应用程序,编写程序完成下列功能:输出“Welcome!”步骤:新建项目Visual C#控制台应用程序,1.4.4 C#程序代码注释,单行: “/”之后的本行文字视为注释。 多行:以“/*”开始,以 “*/”结束,任何介于这两个符号之间的文字都视为注释。,1.4.5 命名约定,(1)类名、方法名和属性名均使用帕斯卡命名法,即所有单词连写,每个单词的第一个字母大写,其他字母小写。如:HelloWorld、GetData等。 (2)变量名、一般对象名以及方法的参数名均使用骆驼命名法,即所有单词连写,第一个单词全部小写,其他每个单词的第一个字母大写。如:userName、userAge等。 (3)控件对象名使用骆驼命名法,而且使用控件名或控件名简写在前、有意义的名称在后的方式。例如:buttonName、buttonAge等。,