第一章快速入门(一)教学内容了解.NETFramework的结构。理解.NETFramework的基本概念CLRJITCTSMSIL了解.NETFramework命名空间了解C#由来、程序的基本结构;及于C/C++、Java的比较教学重点.NETFramework的体系结构及其组件。了解C#由来、程序的基本结构;及于C/C++、Java的比较教学难点什么是CLS、CTS、MSIL和JIT教学过程一、.NETFramework简介.NETFramework是.NET应用程序开发和运行的环境,提供了.NET应用程序中使用的类库,类似于JVM。它不但使Internet上运行的应用程序更容易被开发,而且也可用于开发运行于Windows桌面上的传统应用程序。MicroSoft.NET为创建、部署以及管理安全、强大、高效的应用程序提供了前所未有的最大支持。.NETFramework主要包含下列两个组件:CLR:公共语言运行时统一的类库,包括:o线程o文件输入/输出(I/O)o数据库支持oXML解析o数据结构……当然,还包括编程语言和ASP.NET。其中支持.NETFramework的一些编程语言为C#、VC++、VB.NET和Jscript。ASP.NET主要用于简化WEB应用和服务的开发,不但是传统意义上的应用和服务,而且包括移动设备上的应用和开发。二、.NETFramework体系结构.NETFramework是一个创建、部署和运行应用程序的多语言平台,能够开发多种平台的应用程序,其体系结构如图1所示:图1.NETFramework的体系结构.NETFramework使程序员能够开发用于Windows、Internet、PocketPC(个人掌上电脑)、SmartPhone(智能电话)和TablePC(平板电脑)等多种平台的应用程序。此外它还提供了多种编程语言可供选择。程序员使用.NET支持的语言之一来开发应用程序。这些应用程序使用的基类库由.NETFramework类库(FCL)提供,例如:要显示文本信息,可编写以下代码:System.Console.WriteLine(“.NET体系结构”);可以看到,只要支持.NETFramework,就支持.NET的开发,就如支持JVM就支持Java开发的机制是一样的。三、.NETFramework的组件.NETFramework主要由FCL(框架类库)和CLR(公共语言运行时)构成,图2显示了.NETFramework的组件及其要素。图2.NETFramework的组件其中:WebForm:与HTML类似,提供一组网页设计的类。WebServices:包括一组设计Web服务的类,可用来构造网络服务器的应用程序。WinForms::提供一组Windows的窗体应用程序设计和开发的类。ASP.NET:提供一组用于创建Web应用程序的类。ADO.NET:提供一些可与数据库进行交互的类。XML:用于XML操纵、搜索和转换。基本框架类:提供基本功能,如I/O、字符串处理、安全性管理和网络通信等。通用语言规范CLS:规定了使用所有语言都毕业遵循的基本语言功能的公共子集。公共类型系统CTS:描述如何在运行时声明、使用和管理像类、结构、枚举、接口等类型,从而便于在各种语言之间使用这些类型。oCLR和MSILCLR:托管代码,为与.NETFramework配合使用的任何语言提供了诸如内存管理、安全性和错误处理等功能。保证了.NET中其他语言也都具有的功能。MSIL:微软中间语言,由一组特定的指令组成,这些指令指明如何执行代码。JIT编译器的主要工作是将普通MSIL代码转换为可以直接由CPU执行的计算机代码。oCLS和CTSCLS:规定所有.NET语言都应遵循的规则;生成可与其他语言互操作的应用程序。CTS:公共类型系统,包含标准数据类型和准则集。四、C#简介•C#是.NET平台开发中最好的一门语言,是应.NET而生的。作为一个程序员,如果能够掌握一门语言,这门语言能够继承C++的强大灵活,能够像Java一样语法简洁易于理解,又能像VisualBasic一样提供“拖放”式功能的易用性,那是非常愉快的事情。正好,C#就是这样的一门语言,能够集众语言之所长,创流行语言之所新。•在学习C#之前,首先了解它的读法,读作(“CSharp”),有点像“夏普”的发音,意为C++++。C#是一种简单、现代、面向对象且类型安全的编程语言。C#起源于C语言家族,自身即带了“C”的一些特点。所以,对于学过C系语言(如C、C++、Java)的程序员,可以很快的熟悉这种新的语言。五、C#从C、C++、Java继承的特点C#的历史并不长,但其发展的势头非常快,其中最主要的原因是,C#集众语言之所长,具有许多优秀的特性。•1.C#从C、C++继承的特点•编译:•结构体:•预编译:•没有了#include伪指令:•操作符重载:•2.C#从Java继承的特点•类:•界面:•布尔运算:•错误处理:•内存管理:六、C#独具的特点C#作为流行的开发语言,其自身具有独特的优良特性,使其能够吸引这么多的程序员,用它来开发出非常优秀的软件。1.中间代码。2.命名空间中的申明。3.基本的数据类型。4.两个基本类。5.参数传递。6.索引下标。7.委托和事件。七、C#的常用命名空间命名空间:对具有相关功能的类在逻辑上进行分组,类似于存放相关物品的容器。例如一所大学中的人员模型可能包括以下几种类型:个人、学员、职员、大学生等。一般认为,命名空间有助于改善数据的构成,从而使每个人都可以轻松地获得想要的数据。在.NETFramework中,所有的命名空间基本上从System中形成的。System命名空间为根命名空间,它包含了定义.NET中使用的公共数据类型,这些数据类型包括Boolean、DateTime和Int32等。此命名空间中包括的另一个重要的数据类型为“Object”。Object数据类型形成所有其他.NET对象继承的基本对象。常用的命名空间如表1所示:表1System下的二级命名空间命名空间说明System.Drawing处理图形和绘图,包括打印System.Data处理数据存取和管理,在定义ADO.NET技术中扮演重要角色System.IO管理对文件和流的同步和异步访问System.Windows处理基于窗体的窗口的创建System.Reflection包含从程序集读取元数据的类System.Threading包含用于多线程编程的类System.Collections包含定义各种对象集的接口和类第一章快速入门(二)教学内容熟悉VisualStudio.NET的配置熟悉如何创建一个控制台应用程教学重点熟悉VS.NET2008,并能够使用该工具来创建C#应用程序。教学难点使用VS.NET2008创建控制台应用程序教学过程八、VisualStudio.NET2008的功能VisualStudio.NET2008是一套完整的开发工具,用于构建高性能的桌面应用程序、XMLWebServices、移动应用程序和ASPWeb应用程序。而且,使用VisualStudio.NET2008还可以使基于团队进行的企业解决方案的设计、开发和部署更加简单。VisualStudio.NET2008是一个开发工具包,这个集成开发环境(IDE)主要包括:自定义IDE,启动VisualStudio后,将出现“起始页”,如下图3所示:图3VisualStudio起始页项目:包含指向最近用过的项目链接。对于最近查看过的项目,还会显示相应的修改日期。该选项卡有“打开项目”和“新建项目”两个按钮,分别用于打开或新建一个项目联机资源:提供在线的MSDN更新链接。当计算机连接到Internet时,只要选定窗格中的链接,VisualStudio.NET2008IDE就会自动下载更新。“联机资源”包含以下链接:示例配置文件:用户可以在此获取与选定的配置文件和提供的关键字相关的示例。新增功能:此部分显示VisualStudio.NET2008IDE的新增功能和更新信息,包括示例下载和新的编程工具。网上社区:此部分包含利用新闻组、网页和其他联机资源联系其他软件开发人员的方式。标题新闻:这部分提供浏览文章、新闻及提供指南的方式。联机搜索:这部分用于联机浏览MSDN(微软在线库)。下载:这部分允许用户获取代码示例和更新。XMLWebServices:允许用户搜索已注册的XMLWebServices,以便用于应用程序开发和发布XMLWebServices。WEB宿主:这部分为用户提供机会以使用VisualStudio.NET扩展其解决方案。该链接让我们可以访问一系列ASP.NETWeb托管商,这些托管商提供免费的Web空间,并且集成了VisualStudio.NET,以便通过非常简单的向导简化整套应用程序的部署。我的配制文件:包含自动设置“键盘方案”、“窗口布局”和“帮助筛选器”选项的默认配置文件。选项卡式窗口管理VisualStudio.NET2008让我们每次都可在屏幕上轻松地查看更多的代码行。它包括大量的工具和选项,可帮助用户管理集成开发环境(IDE)中的窗口。VisualStudio.NET2008主要功能有:自动隐藏设置方法:单击窗口上的“关闭”按钮旁边的图钉。可停靠窗口:.NETIDE提供了灵活的可停靠窗口,这些窗口可放置在工作区的任一位置。选项卡式文档:该功能可以使文档窗口在IDE中一起显示为选项卡。IDE定位:使用向前、向后按钮可以轻松定位打开的文档。收藏夹:借助于收藏夹,可以访问使用VisualStudio.NET2008IDE添加了书签的站点。菜单栏:提供了各种命令可用于管理IDE以及开发、调试和执行程序。VisualStudio.NET中的窗口解决方案资源管理器:显示解决方案文件,该文件以树形结构显示所有项目以及对应的引用和文件。工具箱:包含可添加到VisualStudio项目的工具或项。服务器资源管理器:是一个共享工具窗格,该窗格可帮助开发人员对有权限进入的任何计算机上的资源进行访问和操纵。“服务器资源管理器”可用于将计算机连接到服务器并查看其资源,这包括消息队列、性能计数器、服务、进程、事件日志和数据库对象。另外,“服务器资源管理器”还能以编程的方式在VisualStudio.NET2008应用程序中引用服务器组件和资源,还可以帮助访问XMLWebServices.类视图:以树形方式显示一个项目的命名空间、函数、方法和类的逻辑视图。属性窗格:用于查看与设置控件、类和项目的属性。使用动态帮助:MSDN在线库提供的所有主题和帮助都可以在“动态帮助”窗格中获得。九、环境设置利用“工具”菜单中的“选项”对话框来进行。主要可以设置如下选项:改变窗口的默认外观及其布局指定保存项目的默认位置指定常用命令的快捷键确定“任务列表”和“解决方案资源管理器”的默认行为确定在生成项目或项目的解决方案时是否自动保存已更改的文件十、C#应用程序文件夹结构在创建项目时,VisualStudio.NET2008自动创建一个与项目同名的文件夹,此处为“HelloWorld”。该文件夹包含项目文件“HelloWorld.csproj”和其他关联文件。每个新项目都创建了bin和obj两个文件夹。这两个文件夹下都有一个Debug子目录,其中包含可执行文件HelloWorld.exe。在“解决方案资源管理器”中启用“显示所有文件”选项,可查看“HelloWorld”项目的结构。项目的目录结构如图4所示:图4“HelloWorld”的文件夹结构。十一、创建和编译HelloWorld控制台应用程序(1)用记事本创建一个C#控制台程序示例程序:如何利用记事本创建一个C#应用程序。usingSystem;//导入System命名空间namespaceNotepad//声明命名空间Notepad{class