《第一章C#编程概述.ppt》由会员分享,可在线阅读,更多相关《第一章C#编程概述.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.NET程序设计教材:C#实用开发教程清华大学出版社、北京交通大学出版社 师硕第一章 Visual Studio.NET 简介n1.1.NET结构概况n1.2.NET的核心成分简介n1.3 基于.NET的应用开发n1.4 C#程序设计初步n1.5 MSDN联机帮助1.1.NET结构概况n2000年6月22日,微软公司正式推出了其下一代计算计划-Microsoft.NET(以下简称.NET)。n这项计划将使微软现有的软件在Web时代不仅适用于传统的PC,而且也能够满足目前呈强劲增长势头的新设备。NET结构概貌n1、.NET适应新时代的新的开发平台;n2、.NET整合了许多资源和技术;n3、.NE
2、T是Microsoft为开发应用程序而创建的一个富有革命性的开发平台。是一套完整的开发工具,用于生成ASP Web应用程序、XML Web services、桌面应用程序和移动应用程序。n4、建立在.NET之上的程序设计语言有:VB.NET、VC.NET、C#.NETC#.NET和Visual J#.NET等几十种。n5、.NET特别适合开发Internet应用程序1.1.1 .NET框架Web 应用应用 Windows应用应用 .NET 框架框架操作系统操作系统图图1.1 .NET开发平台和基于开发平台和基于.NET的的应用应用 VB.NETVC+.NETC#J#其它语言其它语言CLS:Co
3、mmon Language Specifications(公共语言规范)(公共语言规范)Web ServiceWindows FormsData and XML Classes:ASP.NET、XML、ADO.NET、SQL Servers.NET 框架类库框架类库CLR:Common Language Runtime(公共语言运行库)(公共语言运行库)图图1.2 .NET的体系结构的体系结构VB.NET源程序源程序C.NET源程序源程序VB.NET编译器编译器C编译器编译器MSIL:Microsoft 中间语言中间语言CLR:公共语言运行库公共语言运行库(JIT:Just In Time编译
4、器)编译器)本地代码本地代码 图图1.3 代码执行流程的示例代码执行流程的示例CLS:公共语言规范公共语言规范1.1.2 托管代码和托管数据n支持跨语言集成是支持跨语言集成是.NET的一大特色,跨语言集成的一大特色,跨语言集成又称为跨语言编程、混合编程或者跨语言互操作。又称为跨语言编程、混合编程或者跨语言互操作。n为了达到这一目标,为了达到这一目标,.NET框架中的采用了一系列框架中的采用了一系列新技术,这些技术不能涵盖现有语言的所有成分,新技术,这些技术不能涵盖现有语言的所有成分,有的甚至彼此有矛盾的,所以,在有的甚至彼此有矛盾的,所以,在.NET中,代码中,代码分为分为managed co
5、de和和unmanaged code,前者,前者称为称为托管代码托管代码或或受控代码受控代码,后者称为,后者称为非托管代码非托管代码或或非受控代码非受控代码。n虽然虽然.NET支持这两种代码形式,但是托管代码更支持这两种代码形式,但是托管代码更体现了现代语言的风格,更完整地体现面向对象体现了现代语言的风格,更完整地体现面向对象程序设计的思想。程序设计的思想。n托管代码能够在公共语言运行库中受到管理和服务,能够安全而高效运行,为此,托管代码必须向CLR提供最低级别的信息元数据(metadata)。n全新设计的 C#、Visual Basic.NET 和 J#.NET 代码都受托管。n而Visua
6、l C+.NET代码默认地不受托管,但是编译器可以通过指定命令行开关(/CLR)来产生托管代码。1.2.NET的核心成分简介n公共语言运行库是公共语言运行库是.NET框架中的应用程序框架中的应用程序的执行引擎,又称为的执行引擎,又称为公共语言运行时公共语言运行时或或公公共语言运行环境共语言运行环境。nCLR和下面介绍的类库是和下面介绍的类库是.NET框架的两个框架的两个实体。实体。nCLR基本功能是运行代码并且提供各种服基本功能是运行代码并且提供各种服务,使得整个运行更加简易。务,使得整个运行更加简易。1.2.1 公共语言运行库(CLR:Common Language Runtime)CLR主
7、要功能包括:主要功能包括:n执行和管理:完成运行过程中的代码加载、执行和管理:完成运行过程中的代码加载、应用程序和托管对象的内存管理、对象自动应用程序和托管对象的内存管理、对象自动布局、使用布局、使用JIT(Just In Time编译器编译器)将)将MSIL(Microsoft 中间语言中间语言)编译成本地代码并)编译成本地代码并且控制代码执行、处理异常等全部步骤。且控制代码执行、处理异常等全部步骤。n提供安全保证:类型安全、代码访问安全、提供安全保证:类型安全、代码访问安全、控制托管和非托管代码的互操作。控制托管和非托管代码的互操作。n对开发者的支持:提供界面信息,帮助调试对开发者的支持:
8、提供界面信息,帮助调试等。等。n.NET类库又称类库又称基础类库基础类库(Base Class Library,简,简称称BCL),),.NET类库提供数千个类、接口等工具供类库提供数千个类、接口等工具供程序员直接使用。程序员直接使用。n它们主要有如下几个部分:数据结构、它们主要有如下几个部分:数据结构、I/O管理、数管理、数据库访问、多线程、远程访问、反射等。据库访问、多线程、远程访问、反射等。n.NET支持的所有语言都能使用类库,任何语言使用支持的所有语言都能使用类库,任何语言使用类库的方式是一样的,任何一种应用程序使用类库类库的方式是一样的,任何一种应用程序使用类库的方式也是一样的。的方
9、式也是一样的。n学会使用类库是设计基于学会使用类库是设计基于.NET的各类应用的基本功。的各类应用的基本功。n和和CLR不一样的是:通常情况下,不一样的是:通常情况下,CLR对程序员而对程序员而言是透明的;而类库是程序员必用的工具,熟练掌言是透明的;而类库是程序员必用的工具,熟练掌握类库是程序员的基本功。握类库是程序员的基本功。1.2.2 .NET框架类库(.NET Framework Class Library)n程序集是一种程序单位,程序集中包含MSIL代码,每个程序集只有一个入口(DllMaim或WinMain或Main)。n程序及具有一种边界和进入边界的许可检查和授予机制。n1.2.3
10、 程序集(Assembly)n公共语言规范是一组规则和约束,CLS保证了用不同编程语言编写的类型之间的可交互操作性。n如果开发人员按照CLS规则设计可公开的访问的对象,那么这些对象很容易被其它开发者共享,只要他们使用的是.NET支持的编程语言。1.2.4 公共语言规范(CLS:Common Language Specifications)n通用类型系统是一个内置在公共语言运行库中的类型系统,它支持大多数编程语言中存在的类型和操作。n通用类型系统定义了统一的类型系统,并且定义了类型是怎样在CLR中说明,使用和控制的。1.2.5 通用类型系统(CTS:Common Type System)n.NE
11、T将托管代码编译为微软中间语言MSIL。nMSIL 包括用于加载、存储和初始化对象、对对象调用方法的指令,以及用于算术和逻辑运算、控制流、直接内存访问、异常处理和其他操作的指令。nMSIL的地位类似于汇编语言,但并不是针对某个特定CPU上的指令集,而是与CPU无关的代码,MSIL经过JIT编译器的编译,才形成了可执行的机器代码。nCLR中包含多种JIT编译器,使得MSIL 可以不同的计算机结构中运行。1.2.6 中间语言(MSIL:Microsoft Intermediate Language)1.3 基于.NET的应用程序n开发开发.NET应用程序常用的环境有两个:应用程序常用的环境有两个:
12、nSDK:software development kit 软件开发工具包软件开发工具包采用SDK开发,首先利用文本编辑器编写代码,然后用命令行去编译和运行。nIDE:integrated development environment 集成开发环境集成开发环境IDE是可视化的开发环境,可以开发Windows窗体程序和Web应用程序。1.3.1 SDK和和IDEn1、Windows应用程序:基于应用程序:基于Windows Forms(Windows 窗体)的应用程序,是一种基窗体)的应用程序,是一种基于图形界面接口于图形界面接口GUI的应用程序,一般是在用户计的应用程序,一般是在用户计算机本
13、地运行。算机本地运行。n2、类库:在托管的环境里,开发扩展类库内容,、类库:在托管的环境里,开发扩展类库内容,自定义用户程序的类和组件是代码重用的有效方法,自定义用户程序的类和组件是代码重用的有效方法,也是开发大型程序的值得推荐的做法,也是开发大型程序的值得推荐的做法,.NET给出设给出设计类库程序的规范,只有遵循这些规范,其他开发计类库程序的规范,只有遵循这些规范,其他开发人员才能有效利用它们,使它们发挥最大的作用。人员才能有效利用它们,使它们发挥最大的作用。n3、Windows控件库:创建控件库:创建Windows窗体应用程窗体应用程序的自定义控件。序的自定义控件。1.3.2 基于.NET
14、的应用程序n4、智能设备应用程序:、智能设备应用程序:Internet不光连接不光连接PC机、机、服务器等计算机设备,包括电视机、电冰箱、复服务器等计算机设备,包括电视机、电冰箱、复印机等家用的办公用的电器都将接入印机等家用的办公用的电器都将接入Internet,可,可以通过以通过Internet进行远程控制,智能设备应用程序进行远程控制,智能设备应用程序就是连接、控制这些设备,并且互相通信的应用就是连接、控制这些设备,并且互相通信的应用程序。程序。n5、ASP.NET Web应用程序:应用程序:ASP.NET是是.NET中中统一的统一的Web开发平台,用来开发企业级的开发平台,用来开发企业级
15、的Web应应用程序。用程序。ASP.NET是是ASP的升级版,的升级版,.但是具有但是具有革命性的进步,程序员能够象设计革命性的进步,程序员能够象设计Windows窗体窗体应用一样设计应用一样设计Web应用;能够将代码与应用;能够将代码与HTML文文档分离,进行代码重用;具有服务器控件的开发档分离,进行代码重用;具有服务器控件的开发能力;能够在能力;能够在IDE中进行可视化的开发。中进行可视化的开发。6.ASP.NET Web Service:Web Service是是Microsoft的的.NET战战 略略 中中 的的 重重 头头 戏戏,由由 于于XML(Extensible Markup
16、Language)是是当当今今Internet和和各各种种系系统统之之间间的的数数据据交交换换的的标标准准,所所以以也也称称为为XML Web services,它它可可以以实实现现客客户户端端-服服务务器器或或服服务务器器-服服务务器器间间的的数数据据交交换换。XML Web services 采采用用松松耦耦合合的的分分布布式式结结构构,不不与与特特定定的的组组件件技技术术或或对对象象调调用用约约定定相相关关联联,也也和和编编程程语语言言、组组件件模模型型、操操作作系系统统等等无无关关。一一般般的的Web程程序序,例例如如浏浏览览器器,是是人人与与程程序序的的对对话话,而而Web Serv
17、ice是是程程序序与与程程序序的的对对话话。Web Service是是公公认认的的Internet下下一一个个最最大大的的浪浪潮潮,也也是是Internet应应用中最有影响的服务。用中最有影响的服务。1.4 C#程序设计初步n简单(没有指针没有指针)n面向对象(封装、继承和多态封装、继承和多态)n符合日渐成熟的Web编程标准n完善的安全性与错误处理机制n支持版本封装n与商业逻辑相关联1.4.1.C#语言简介1.4.2.NET开发环境启动后的初始界面启动后的初始界面创建新项目后的界面创建新项目后的界面解决方案资源管理器解决方案资源管理器Form窗口的属性窗口的属性类视图类视图1.4.3 在IDE
18、上开发Windows应用程序1、Visual C#项目项目n创建创建Visual C#Visual C#项目的步骤:项目的步骤:1 1)选择)选择【Visual C#Visual C#项目项目】中的中的【WindowsWindows应应用程序用程序】。2 2)在)在【名称名称】文本框中输入应用程序的名字文本框中输入应用程序的名字“HelloWorldHelloWorld”。3 3)在)在【位置位置】文本框中上输入要保存的目录文本框中上输入要保存的目录地址。最后单击地址。最后单击【确定确定】按钮。按钮。设计视图设计视图解决方案资源管理器解决方案资源管理器属性属性类视图类视图2、编写工程编写工程通
19、过单击【ShowMessage】按钮,显示出“HelloWorld”消息框。步骤:步骤:1)在)在【属性属性】窗口中选中窗口中选中Form1,将将Text属性改为属性改为“HelloWorld”并按并按Enter键,键,Form1标题标题Text属性属性2 2)选择屏幕左侧的)选择屏幕左侧的【工具箱工具箱】|【所有所有WindowsWindows窗口窗口】按钮,用左键按住按钮,用左键按住【ButtonButton】按钮,拖到按钮,拖到Form1Form1窗口中。窗口中。3)在)在Form1上单击上单击【Button1】按钮,在右面属性窗口中按钮,在右面属性窗口中【Text】属性改为属性改为“S
20、howMessage”,将,将【Name】属性改为属性改为“ShowMessage”。4)双击此【ShowMessage】按钮,将出出现代码编辑窗口,在光标停留处输入如下代码:在此添加代码在此添加代码n/显示一个显示一个”HelloWorld”的对话框的对话框 System.Windows.Forms.MessageBox.Show (Hello.World,Hello,System.Windows.Forms.MessageBoxButtons.OK);5)选择)选择【调试调试】|【启动启动】菜单命令菜单命令(F5)将会运行该项目。运行后单击)将会运行该项目。运行后单击【ShowMessag
21、e】按钮,将弹出按钮,将弹出“Hello.World”的消息框。的消息框。3、编译工程、编译工程选择选择【生成生成】|【生成解决方案生成解决方案】菜单命令,将会对项目进行编菜单命令,将会对项目进行编译。若成功,在底部的译。若成功,在底部的【输出输出】窗口输出如下提示,如果生窗口输出如下提示,如果生成不成功也将成不成功也将 出现错误提示。出现错误提示。4、调试工具、调试工具选择【调试】|【启动】命令(F5),将启动调试功能。n编写控制台程序在一个文本编辑器按照编写控制台程序在一个文本编辑器按照C#语法规定编写程序,保存时扩展名为语法规定编写程序,保存时扩展名为.cs即即可。可。n编写的编写的C#
22、程序并不能直接执行,必须编译程序并不能直接执行,必须编译成成EXE文件才能运行。文件才能运行。1.4.4 在SDK上开发控制台应用程序建立一个C#控制台(命令行)程序n1 1、启动、启动WindowsWindows自带的记事本程序来编写自带的记事本程序来编写C#C#程序,在记事程序,在记事本上录入如下代码:本上录入如下代码:class HelloWorld public static void Main()System.Console.WriteLine(Hello World!);System.Console.WriteLine();n2 2、保存该程序代码,取名为:、保存该程序代码,取名为
23、:HelloWorld.csHelloWorld.cs。n3 3、执行、执行【开始开始】-【所有程序所有程序】-【Microsoft Microsoft Visual Studio.NETVisual Studio.NET】-【Visual Studio.NETVisual Studio.NET命命令行提示令行提示】命令,将出出现命令行。命令,将出出现命令行。n4 4、在命令行中输入命令、在命令行中输入命令“CSCCSC盘符盘符 目录目录HelloWorld.csHelloWorld.cs”,然后按回车键,如果代码中没,然后按回车键,如果代码中没有错误,将会得到编译成功的信息,生成一个有错误,
24、将会得到编译成功的信息,生成一个HelloWorld.exeHelloWorld.exe的可执行文件。的可执行文件。n5 5、在命令行中输入命令、在命令行中输入命令HelloWorldHelloWorld,并按回车,并按回车,就可得到程序的运行结果。就可得到程序的运行结果。Main方法nMain注意事项注意事项:首字母大写,首字母大写,“Main”不是不是“main”可执行程序必须有一个可执行程序必须有一个Main方法作为入口点方法作为入口点返回类型必须是返回类型必须是void可以写作下面的形式:可以写作下面的形式:nstatic void Main()nstatic void Main(st
25、ring args)nMain方法结束后方法结束后 程序就退出了程序就退出了基本输入/输出nConsole类nWrite 和 WriteLine 方法nRead 和 ReadLine 方法Console类n提供对标准输入、标准输出和标准错误输出的访问nConsole类只对Console应用生效标准输入键盘标准输出显示器标准错误输出显示器Write 和 WriteLine 方法nConsole.Write 和 Console.WriteLine都用于向标准输出设备输出信息区别在于WriteLine带回车n可以使用的格式包括文本(字符串)数字其它常用格式Read 和 ReadLine 方法nConsole.Read 和 Console.ReadLine 用来从标准输入设备获取输入Read每次只能读一个字符ReadLine每次读入一整行1.5 MSDN联机帮助n1.5.1启动联机帮助文档从桌面选择【开始】|【程序】|【Microsoft Visual Studio.NET】|【Microsoft Visual Studio.NET文档】菜单命令,将弹出对话框。界面如下: