收藏 分销(赏)

C#.NET入门到精通专题培训课件.ppt

上传人:精*** 文档编号:12831929 上传时间:2025-12-12 格式:PPT 页数:669 大小:4.99MB 下载积分:25 金币
下载 相关 举报
C#.NET入门到精通专题培训课件.ppt_第1页
第1页 / 共669页
C#.NET入门到精通专题培训课件.ppt_第2页
第2页 / 共669页


点击查看更多>>
资源描述
*,*,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,C#.NET入门到精通,第一章 .Net环境和C#语言简介,本章内容:,Microsoft.Net,概述,C#语言介绍,本章内容:,本章主要简单介绍了Microsoft.Net和C#语言。首先介绍了C#语言的基础Microsoft.Net平台的设计理念、主要构成和设计目标,然后介绍了C#语言的特点和运行模型。,1.1,Microsoft.Net,概述,Microsoft.Net是微软公司面向下一代互联网软件和服务战略,它的出现标志着新的软件设计理念和服务理念的产生。,Microsoft.Net是微软公司面向下一代互联网软件和服务战略,它的出现标志着新的软件设计理念和服务理念的产生。,一、,Microsoft.Net的设计理念,Microsoft.Net努力改变人类适应机器、适应技术的现状,为各类用户提供一种简单的操作信息的能力,使得所以商业用户和个人用户都能方便查找和使用其中的信息,任何规模的公司都可以使用相同的工具与他们的供应商、商业伙伴和客户高效地沟通和分享信息,从而创建一种全新的协同工作模式:,对于用户来说,,Microsoft.Net,意味更简单化的整体服务:统一的信息浏览、编辑和授权,查看资料,工作,联机,/,脱机媒体。,对于企业来说,,Microsoft.Net,意味着统一的信息浏览、编辑和授权;丰富的同步传播;密切的移动通信联系;得力的信息管理和电子商务工具,在基于,Internet,和,Intranet,的服务程序之间灵活地切换,为动态商务伙伴关系的建立提供支持。,对独立软件开发商来说,,Microsoft.Net,意味着创造基于,Internet,的更多新型高级服务的机会,这些服务可以借助,Internet,自动的从本地或远程获取和利用所需的信息,而无须为不同的工作环境重新编写程序。,Microsoft.Net,主要包括一下四个方面的内容:,构造和管理新一代服务的基本结构和工具,包括,.Net,框架(,Framework,),、,Visual Stdio.Net,、,.Net,企业服务器和,Windows.Net,。,二、,Microsoft.Net,的组成,创建互联网操作系统的构建块,包括,PassPort,.Net,(,用于用户认证)、用于文件存储的服务、用户首选项服务、日历管理以及众多的其它服务。,能够启用新型智能互联网设备的,.,Net,设备软件。,.Net,用户体验。,三、,.Net,框架和,C#,.Net框架是.Net平台基础架构,它消除了各类编程语言之间的差别,从而实现了跨语言平台编程的能力。.Net的这种能力主要来源于公共语言运行时(Common Language Runtime,CLR)和类库。公共语言运行时和类库(Windows Forms,ADO.Net和ASP.Net)统一了各类语言类型,从而使得各种编程语言间无缝集成成为可能。,C#(读C sharp)语言就是微软为解决上述问题而设计的,它是微软公司为.Net计划开发推出的核心编程语言,该语言几乎综合了目前所有编程语言的优点。C#是一种现代的面向对象的程序开发语言,开发人员能够利用它在.Net平台上快速开发种类丰富的应用程序,并可以转换为Web服务。,1.2,C#,语言介绍,C#语言是专门为.Net应用而开发的语言,并且在设计过程中综合了其它编程语言的优点,即满足了应用程序的快速开发能力,又没有牺牲各种灵活性,同时它忠实地继承了C和C+的优点,一、,C#,的语言特点,C#语言作为一种新生语言与其它编程语言相比有一下几个突出的特点:,简洁的语法,面向对象的特点,与,Web,的紧密结合,安全性和错误处理,版本处理,灵活性与兼容性,二、,C#,的运行模型,目前用高级语言编写的程序有两种形式,一种是被编译成机器语言在CPU上执行,如Visual C+,Pascal等。另外一种是边解释边执行的,称为解释性语言,如Visual FoxFro,Visual Bsasic3.0等。,三、C#的运行模型,中间语言(Intermediate Language,IL)中间语言是一种与硬件平台无关的指令集,(Instruction Set)使得C#编写的程序可以在任何支持.Net的系统上运行.,操作系统,.NET环境,C#,代码,CSC.exe,IL,文件,OS Loader,类加载器,程 序,内 存,映 象,JIT编译器,可执行代码,类库,文件,安全性检查,Cpu执行,本章小节,本章对Microsoft.Net平台和C#语言进行了简要的介绍,通过本章学习,读者可以学习到.Net构建理念和组成,C#语言特点和运行模型等内容。学习完本章,应该重点掌握以下内容:,Microsoft.Net,由构造和管理新一代服务的基本结构和工具、创建互联网操作系统的构建块、能够启用新型智能互联网设备的,.,Net,设备软件和,.,Net,用户体验,四部分构成,其中,.,Net Framework,是,.,Net,平台的基础,它消除了各类编程框架之间的差异,实现了跨语言编程的能力。,C#,语言具有简洁的语法、面向对象、与,Web,的紧密结合、安全性和错误处理等特点。,C#,程序并不是一次编译后执行的,而是先编译成中间代码,然后在,.,Net,环境由,JIT,编译器边编译边运行的,这样实现的最大好处是消除了编程语言的差异,节约了系统资源。,.,Net,平台带来的新概念:中间代码、运行时编译、元数据、垃圾回收器。,第二章 .,Visual,Studio,.Net 集成开发环境,本章内容:,Visual Studio.Net 集成开发环境的安装,Visual Studio.Net 集成开发环境介绍,.Net集成开发环境上C#程序开发,本章内容:,本章主要介绍C#程序集成开发环境Visual Studio.NET的安装方法,IDE中窗口、选项和帮助的内容,以及在Visual Studio.NET上进行C#程序开发的一般原则。,2.1 Visual Studio.Net 集成开发环境的安装,为了确保安装成功,应该在安装Visual Studio.Net之前完成以下任务:,确保硬件满足最低要求。,确保操作系统满足安装要求。,获取和Visual Studio.Net有关的组件,一、硬件和系统需求,在安装,Visual Studio.Net,之前,要确保计算机满足以下的最小硬件需求:,奔腾,II,系列,,450MHZ,,推荐使用奔腾,III,733MHZ,以上配置,内存,128MB,,推荐使用,256MB,以上配置,800,600,,,256,色显示器以上配置,一个,CD-ROM,驱动器,操作系统:,Windows 98,,,Windows NT 4.0,,,Microsoft Windows2000,,,Windows XP,,,Windows Server2003,二、安装必要的组件,在安装Visual Studio.Net之前,需要在系统上安装必要的Windows组件,主要包括:,Windows NT 4.0 Service Pack 6a,Windows 2000 Service Pack 2,Microsoft Windows Installer 2.0,Microsoft Windows Management Infrastructure,Microsoft FrontPage 2000 Web Extensions Client,以上组件并不一定都要安装,具体要安装的组件要根据操作系统的情况来定,最简单的方式是使用Microsoft Windows Component Update光盘(即Visual Studio.Net CD3)进行组件的安装:,1)将Microsoft Windows Component Update光盘放入光驱,如果光盘不能自动播放,则在光盘中查找Setup.exe,双击运行即可显示图2-1的界面。,图2-1 安装程序,2),信息装载完毕后,就会弹出对话框中显示安装的各种组件,如图,2-2,所示,有时会弹出一个警告对话框提示你使用,CD1,安装,这时点击“否”按钮。,图2-2 组件安装对话框,3),点击“立即安装!”,开始安装相应的组件。,4),安装完毕后,点击“完成”,如图,2-3,所示,就完成了相关组件的安装工作。,图 2-3 组件安装结束界面,Visual Studio.NET,的安装程序存放在,CD1,和,CD2,盘上,用户可以使用光盘安装也可以将,CD1,和,CD2,盘上的内容合并拷贝到硬盘上安装,我们以光盘安装介绍其安装过程。,三、,在,Windows XP,平台上安装,Visual Studio.Net,1)将,CD1,放入光驱,程序会自动运行,弹出系统检测对话框,检测过后会弹出选择安装,Visual Studio.NET对话框,,如图,2-4,所示。,图2-4 Visual Studio.NET安装程序,2)选择“2 现在即可安装Visual Studio.NET”,系统进而安装初始化。,3)系统初始化完成之后,弹出安装界面,选择“同意”,点击“继续”进入安装程序选择页,如图2-5所示。,图2-5 安装程序选择页,4)根据图,2-5,所示,在“功能属性”栏中为,Visual Studio.Net,选择安装目录,同时在左栏中的“选择要安装的项”下,选择要安装的组件,然后点击“立即安装!”,进行安装过程,如图,2-6,所示。,图2-6 安装过程5,5)在安装过程中,系统会提示更换安装盘,CD2,,这时将,CD2,安装盘插入光驱,继续安装,当安装完成后出现图,2-6,所示界面,点击右下角的“完成”标签。,图2-6 安装完成界面,6)至此,安装结束。界面会返回到初试安装界面图2-4,此时图标3(产品文档)项为选中状态,用户可以选择3安装MSDN库,或者选择“退出”以后安装该文档库。,一、启动Visual Studio.Net 集成开发环境,2.2,Visual Studio.Net,集成开发环境介绍,在成功安装Visual Studio.Net之后,在“开始”菜单中“所有程序”项中选择“Microsoft Visual Studio.Net 2003”,即可启动Visual Studio.Net集成开发环境,如图2-7所示。,图2-7 启动Visual Studio.Net,这时屏幕上会出现启动画面如图2-8所示,从画面上可以看出Visual Studio.Net开发环境中目前包含的产品。,图2-8 启动界面图,启动界面消失后就正式进入了Visual Studio.Net集成开发环境,首次运行会显示【起始页】如图2-9所示,该页包含【项目】、【联机资源】、【我的配置文件】三个可选页。,图2-8 Visual Studio.Net的【起始页】,【项目】页中显示了最近一段时间内打开过的项目,以方便用户查找,由于第一次进入所以没有项目显示。该页上还有两按钮:【新建项目】和【打开项目】。点击【新建项目】会弹出【新建项目】对话框,从中可以创建C#项目。,【联机资源】页显示了Visual Studio.Net的新特性如图2-9所示,【新增功能】部分显示了Visual Studio.Net的新特性,包括下载示例代码和新的编程工具。,图2-9【联机资源】栏,二、,Visual Studio.Net,的窗口,Visual Studio.Net向用户提供了浏览文件和自定义控件的窗口。本节将讨论开发C#应用程序必须的窗口。可通过位于菜单栏下面、工具栏右部的一些工具栏图标访问这些窗口如图2-10所示,或者从【视图】菜单中选择所需窗口的名称来访问它。,【解决方案资源管理器】窗口,【属性】窗口,【工具栏】,【对象浏览器】,图2-10 窗口图标,1,【解决方案资源管理器】窗口,【解决方案资源管理器】窗口列出了所有解决方案中的文件,当创建一个新项目或者现存的项目被打开时,【解决方案资源管理器】窗口将显示这个项目的内容。图2-11显示了打开一个C#项目时【解决方案资源管理器】窗口的内容。,图2-11【解决方案资源管理器】窗口,察看代码,视图设计器,刷新,显示所有文件,属性,2,【属性】窗口,【属性】窗口用于操纵一个窗体或者控件的属性如图2-12所示。属性定义了控件的信息,例如大小、颜色、字体等,每个控件都有自己的一组属性。当选中某个属性时,【属性】窗口下方会显示该属性的描述。,图2-12【属性】窗口,按分类顺序,按字母顺序,属性,事件,3,【工具栏】窗口,【工具栏】窗口如图2-13所示,包含了可重用的组件或者控件,用于自定义应用程序。用户在编程时可以在窗体中“拖放”已有的控件,省去了自己编写代码的麻烦。这种方法是目前可视化编程中最常用的技术,通过组件或者控件,用户可以很快编写出需要的应用程序,从而满足了软件的快速开发要求。,【工具栏】的组,滚动箭头,控件,图2-13【工具栏】窗口,三、Visual Studio.Net,的菜单,Visual Studio.Net的菜单主要包括:【文件】菜单组、【编辑】菜单组、【视图】菜单组、【项目】菜单组、【生成】菜单组、【调试】菜单组、【工具】菜单组和【窗口】菜单组。下面将一一介绍这些菜单组的内容和使用方法。,1,【文件】菜单组,文件菜单组主要包括了与文件相关的操作命令,用户单击Visual Studio.Net集成开发环境中的【文件】菜单会弹出如图2-14所示的菜单栏,主要包括以下命令:,1)【新建】,【新建】主要实现两个子命令:【项目】和【文件】,如图2-15。选择【项目】命令,将会弹出【新建项目】对话框,通过该对话框我们可以创建C#工程。选择【文件】命令,将出现【新建文件】对话框,通过该对话框可以创建不同类型的文件。,图2-14【文件】菜单组,图2-14【文件】菜单组,图2-15 【新建】子菜单,图2-15【打开】子菜单,2)【打开】,【打开】菜单包括四个子菜单:【项目】、【Web上的项目】、【文件】、【来自Web的文件】,如图2-15所示。,3)【关闭】,该命令用于关闭打开的文件,有以下三种执行方式:,若当前没有文件打开,该命令不可用,若当前打开文件没有被保存或者已经被修改,则在选择该命令后,弹出一个消息对话框,询问是否保存当前文件内容。,如果有多个文件处于打开状态,选择该命令只能关闭当前活动的文件。,4)【添加项目】,该子菜单包含三个命令:【新建项目】、【现有项目】和【Web上的项目】。、,5)【保存】,该命令用于保存当前活动窗口文件内容,该命令有两种执行方式:,若当前文件处于打开状态,则该命令不可用,若当前文件为新建文件,则该命令将激活,【,另存为,】,对话框,如图,2-16,所示。,6)【另存为】,该命令用于保存一个新建的窗口或者当前编辑的窗口内容到不同的文件去,选择该命令将弹出【另存为】对话框,通过该对话框你可以指定要保存文件的位置。如果当前没有文件处于打开状态,该命令为不可用状态。,图2-16【另存为】对话框,7)【全部保存】,该命令用于保存当前打开的所有文件。,8)【源代码管理】,该子菜单包含了软件工程中代码管理的几 个主要内容。,9)【页面设置】,该命令主要用于设置打印选项。,10)【打印】,该命令完成文件的打印工作。,11)【最近的文件】,该菜单包含最近打开的文件,最多可以列出4个文件名,这些文件名列表为该对应文件的快捷打开方式,选择其中一个文件名,就能打开该文件。,12)【最近的项目】,该菜单包含最近打开的项目名,最多可以列出4个项目名。,13)【退出】,通过该命令,能退出Visual Studio.Net集成开发环境,如果当前工程有没有保存的文件,将弹出警告框。,2【编辑】菜单组,【编辑】菜单组如图2-17所示,为用户提供了文件编辑命令,主要包括:,1)【撤销】,该命令用于恢复用户最近一次的编辑,图2-17【编辑】菜单组,2)【重复】,该命令用于恢复被【撤销】的操纵。其快捷键为Ctrl+Z。,3)【剪切】,将当前活动窗口选中的内容剪切到剪切板中。,4)【复制】,将当前活动窗口选中的内容复制到剪切板中。,5)【粘贴】,将剪切板中内容拷贝到当前光标所在的位置,如果当前有选中的部分,则用剪切板中的内容替代当前选中部分。,6)【循环应用剪贴板中的复制项】,循环替代剪切板中当前活动内容。,7)【删除】,将当前活动窗口中选定的内容删除。,8)【全选】,将当前活动窗口中的内容全部选中。快捷键Ctrl+A。,9)【查找和替换】,该子菜单包括五个命令:查找、替换、在文件中查找、在文件中替换和查找字符。提供这些命令,可以在当前活动文档,或者指定文件中寻找或者替代指定的内容或字符。,10)【转到】,将光标快速移动到当前活动窗口中指定位置。,11)【将文件作为文本插入】,选择该命令将弹出打开文件对话框,如图2-18所示,并所选定的文件内容插入到当前光标所在位置。,图2-18【插入文件】对话框,12)【高级】,该子菜单项包含了用于进行高级查找、选择和文本处理操作的命令。,13)【书签】,该子菜单项包含了用于文件书签管理的命令。,14)【大纲显示】,该子菜单包含了用于管理视图大纲。,15)【智能感知】,该子菜单包含了列出成员、参数信息、完成单词等智能化操纵。,3【视图】菜单组,【视图】菜单组如图2-19所示,主要用于Visual Studio.Net集成开发环境中的窗口显示,主要包括:,1)【代码】,该命令用于显示窗体对于的代码。,2)【设计器】,该命令用于显示窗体的设计模式。,3)【打开】,该命令用于打开当前方案管理器、类视图等项中的条目。,4)【打开方式】,该命令用于设置出来文件的编辑器种类。,图2-19【视图】菜单组,图2-20【显示任务】子窗口,5)【解决方案资源管理器】,该命令用于显示解决方案资源管理器窗口。,6)【类视图】,该命令用于显示类视图窗口。,7)【服务资源管理器】,该命令用于显示服务资源管理器窗口。,8)【资源视图】,该命令用于显示资源视图窗口。,9)【属性窗口】,该命令用于显示属性窗口。,10)【对象浏览器】,该命令用于显示对象浏览器窗口。,11)【工具箱】,该命令用于显示工具箱窗口。,12)【Web浏览器】,该命令用于在IDE环境中实现IE功能。,13)【其他窗口】,该命令用于显示诸如文档大纲窗口、输出窗口和输出窗口等窗口内容。,14)【显示任务】,该命令用于管理任务清单中的显示内容如图2-20所示。,15)【工具栏】,该命令用于指定将在屏幕上显示的工具栏。,16)【全屏】,通过该命令,可以选择当前活动窗口以全屏方式显示,当处于全屏方式显示时,可以通过单击Esc键切换会原理的显示方式。,17)【向前定位】,该命令相当于“前进”按钮,选择该命令,可以前进到上一个打开的窗口中。,18)【向后定位】,该命令相当于“后退”按钮,选择该命令,可以后进到上一个打开的窗口中。,19)【属性页】,通过该命令,将会弹出属性页对话框,通过该对话框,可以设置对象的属性。,4【项目】菜单组,【项目】菜单组主要包含于项目有关的操纵和命令,如图2-22所示,包含以下命令:,图2-22【项目】菜单组,1)【添加Windows窗体】,通过该命令,将会弹出【添加新项】对话框,通过该对话框可以向当前工程中添加Windows窗口。,2)【添加继承窗体】,通过该命令,将会弹出【添加新项】对话框,通过该对话框中的【继承的窗体】项可以添加继承窗体。,3)【添加用户控件】,通过该命令,将会弹出【添加新项】对话框,通过该对话框中的【用户控件】项可以添加用户控件。,4)【添加继承的控件】,通过该命令,将会弹出【添加新项】对话框,通过该对话框中的【继承的用户控件】项可以添加继承的用户控件。,5)【添加组件】,通过该命令,将会弹出【添加新项】对话框,通过该对话框中的【组件类】项可以添加组件,确认后就可以从工具箱或服务器管理器中选择合适的组件拖动到设计器中。,6)【添加类】,通过该命令,将会弹出【添加新项】对话框,通过该对话框中的【类】项可以添加类。,7)【添加新项】,通过该命令,将会弹出【添加新项】对话框,通过该对话框中的【项目】项可以添加继承窗体。,8)【添加现有项】,通过该命令将出现【条目选择】对话框,通过该对话框,可以选择将要添加的条目。,9)【添加引用】,选择该命令将出现【添加引用】对话框,通过该对话框,可以选择将要添加所需要的引用。,10)【添加Web引用】,选择该命令将出现【添加Web引用】对话框,通过该对话框,可以选择寻找网页上的引用。,11)【设为启动项目】,该命令将当前工程设置为启动工程,这样每次启动Visual C#.Net时自动地加载该项目。,5,【生成】菜单组,图2-21【生成】菜单组,【生成】菜单组包含与编译、链接有关的命令,如图2-22所示,主要包括:,1)【生成】,该命令编译和链接工程中所有被修改过的文件,并将警告信息和错误信息输出到输出对话框中。,2)【重新生成】,该命令重新编译和链接当前工程。,3)【批生成】,选择该命令将出现【批生成】对话框,如图2-23所示,使用该对话框可以建立多个工程的编译配置。,图2-21【生成】菜单组,图2-23【批生成】对话框,图2-24【配置管理器】对话框,4)【配置管理器】,选择该命令将出现【配置管理器】对话框,如图2-24所示。使用该对话框可以建立多个工程的编译配置。,6【调试】菜单组,【调试】菜单组主要包括于程序调试有关的命令,如图2-25所示,主要包括以下命令:,图2-25【调试】菜单组,图2-25【调试】菜单组,1)【窗口】,【窗口】子菜单主要用于显示断点、异常和命令窗口。,2)【启动】,编译运行当前工程。,3)【开始执行】,在无调试模式下编译并运行当前工程。,4)【进程】,显示当前系统中存在的进程。,5)【异常】,当选择该命令时,会显示【异常】对话框,该对话框显示系统能够捕获的所有异常类型。,6)【逐语句】,单步运行程序,按照语句为单位运行。,7)【逐过程】,按照过程或者函数作为运行单位,遇到函数不跳入执行。,8)【新断点】,选择该命令后,会在鼠标所在行加入断点。,9)【清除所有断点】,选择该命令可清除所有设置过的断点信息。,7【工具】菜单组,【工具】菜单组如图2-26所示,主要包括以下命令:,1)【拼写检查】,图2-26【工具】菜单组,用于链接外部的拼写检查程序对项目进行拼写检查。,2)【调试进程】,选择该命令后,会显示【进程】对话框,该对话框显示本机所有可能进程。,3)【连接到设备】,用于连接外部设备。,4)【连接到数据库】,选择该命令将出现【数据连接属性】对话框,通过该对话框可以连接到数据库。,5)【外部程序管理器】,选择该命令还会出现【外部程序管理器】对话框,该对话框会显示当前可用的外部程序。,6)【生成注释Web页】,为当前工程构造注释网页。,7)【宏】,可以管理和录制宏。,8)【创建GUID】,生成GUID编号的工具。,9)【ATL/MFC跟踪工具】,设置ATL/MFC的跟踪行为。,10)【OLE/COM对象察看器】,提供安装在系统上的所有OLE和COM对象的信息。,11)【Spy+】,提供观察Windows操纵细节的方法,允许用户观察所有的过程线程、窗口和Windows发送的消息。,12)【外部工具】,用于选择Visual Studio.Net继承开发环境中使用的外部工具。,13)【自定义】,选择该命令,会显示【自定义】对话框,用户可以提供这个对话框定制命令、工具栏、菜单和快捷键。,14)【选项】,选择该命令将会弹出【选项】对话框,在该对话框中可以设置系统的行为。,8【窗口】菜单组,【窗口】菜单组包含用于操纵窗口的命令,如图2-27所示,主要包括:,1)【新建窗口】,打开和当前活动窗口包含相同文档的另一个窗口,并成为当前活动窗口,两个窗口的内容保持同步编号。,2)【拆分】,图2-27【窗口】菜单组,将当前窗口拆分成多个窗格,这个可以方便地查看同一个文档的不同部分。,3)【可停靠】,允许/禁止当前活动窗口的停靠特征。,4)【隐藏】,隐藏当前活动的窗口。,5)【浮动】,允许/禁止当前活动窗口的浮动特征。,6)【自动全部隐藏】,允许/禁止全部窗口的浮动特征。,7)【关闭所有文档】,如果项目中有没有保存的文件,系统会显示提示信息。,8)【窗口】,列出最近打开的窗口文件名,最多可以列出10个。,2.3 Net集成开发环境上C#程序开发,C#应用程序的创建,1)创建新项目,2.3 Net集成开发环境上C#程序开发,C#应用程序的创建,2)添加代码,2.3 Net集成开发环境上C#程序开发,C#应用程序的创建,3)运行程序,保存项目,2.3 Net集成开发环境上C#程序开发,C#程序的典型布局,1using System;,2namespace ASimpleProject,3,4/,5/Class1 的摘要说明。,6/,7class Class1,8,9/,10/应用程序的主入口点。,12/,13STAThread,14static void Main(string args),15,16/,17/TODO:在此处添加代码以启动应用程序,18/,19Console.WriteLine(Hello World!);,20,21,22,本章小结,Visual Studio.Net集成开发环境是微软提供的,用于创建、运行和调试各种.NET编程语言的程序。本章我们主要介绍了该集成开发环境的安装方法,以及它提供的窗口和菜单的各个功能,最后我们使用该集成开发环境创建了一个典型的C#应用程序,并介绍了进行C#开发的一般步骤和典型布局。,第3章,C#的基本语法,本章内容,C#的基本语法,,C#的词法结构,数据类型,表达式,操作符,3.1词法结构,词法是构成程序设计语言的最基本单位,程序是由若干个语句构成,而语句是由若干个具有特殊含义的单词和运算符构成的,所以学习一门新语言,首先应该从词法入手。,3.1.1标识符,标识符(identifier)是程序开发人员为类型、方法、变量等所选择的名字。C#的标识符应当使用字母或下划线作为开头,由字母、数字、下划线(_)和美元符号($)组成,不能包括空格、标点符号和运算符,而且标识符的名称最好和实际的应用联系起来,这样可以使程序更容易理解.,下面列出了合法的标识符:,Sum,average,_total,Student_name,tan$,Lotus_1_2_3,下面列出了不合法的标识符:,A.B,ab,!wait,#33.bc,3.1.1标识符,C#的标识符区别大小写,这和C/C+语言是一样的,例如下面的三个标识符是不同的。,Member,member,MemBer,C#的标识符不能与关键字相同,但是可以使用前缀来避免这种冲突,例如:,while,while,上面两个单词中第一个单词是合法的标识符,而第二个单词不是合法标识符,因为while是个关键字。,3.1.2关键字,同C和C+语言一样,C#也规定了很多关键字用于程序控制、数据说明或者其它功能,由于它们的特殊意义,所以这些关键字不能作为标识符使用,abstract,event,new,struct,as,explicit,null,switch,base,extern,object,this,bool,false,operator,throw,break,finally,out,true,byte,fixed,override,try,case,float,params,typeof,catch,for,private,uint,char,foreach,protected,ulong,checked,goto,public,unchecked,class,if,readonly,unsafe,const,implicit,ref,ushort,continue,in,return,using,decimal,int,sbyte,virtual,default,interface,sealed,volatile,delegate,internal,short,void,do,is,sizeof,while,double,lock,stackalloc,else,long,static,enum,namespace,string,3.2数据类型,C#的数据类型采用了类似于C和C+语言的数据类型描述形式,但又有所改进。C#将所有的数据类型分成两大类:,值类型,引用类型。,3.2.1值类型,值类型通常用来表示基本类型、简单类型。C#的值类型主要包括:,整数类型,布尔类型,实数类型,字符类型,结构类型,枚举类型,整数类型,C#定义了8种整数类型:短字节型(sbyte)、字节型(byte)、短整型(short)、无符号短整型(ushort)、整型(int)、无符号整型(uint)、长整型(long)、无符号长整型(ulong)。划分的依据是根据这些类型所占存储器的位数。,数据类型,特 征,取值范围,sbyte,有符号8位整数,128127,byte,无符号8位整数,0255,short,有符号的16位整数,3276832767,ushort,无符号的16位整数,065535,int,有符号的32位整数,2 147 482 6482 147 483 647,uint,无符号的32位整数,04 294 967 295,long,有符号的64位整数,9 223 372 036 854 775 8089 223 372 036 854 775 807,ulong,无符号的64位整数,018 446 744 073 709 551 615,布尔类型,布尔类型用来表示“真”和“假”两个逻辑概念.在C和C+语言中,用0来表示“假”,用非“0”的值表示“真”,但是C#语言中对上述表示进行的限制,C#中布尔类型只能取“真”和“假”两个值,分别用true和false两个关键字来表示,bool x 1;/错误,不存在这种写法;,bool x true;/正确,实数类型,C#采用两种数据类型来表示小数:单精度(float)和双精度(double),两者的差异主要取决于取值范围和精度。,数据类型,精 度,取值范围,float,7位有效数字,1.510,45,3.410,38,double,1516位有效数字,5.010,324,1.710,308,decimal,2829位有效数字,1.010,28,7.910,28,字符类型,C#提供字符(char)处理ASCII字符和Unicode编码的字符,,ASCII字符是美国标准委员会提供的,采用7位二进制表示的字符。,Unicode是国际标准化组织制定的采用16位二进制表示的字符,它可以表示世界上大多数语言。,结构类型,有时需要将不同类型的数据组合成一个有机的整体以便使用,例如要编制一个学生信息管理系统,对全校学生的信息进行管理,一个学生具有学号、姓名、性别、年龄、地址等信息,如果使用简单数据类型分布存储这些信息的话,很难完成反映出这些信息的内在联系,所以应该将它们组织成一个整体。,C#语言提供了结构类型(structure),允许用户根据实际的需要实现特定的数据类型,结构类型,例如学生信息管理,我们必须将一个学生的学号、姓名、性别、年龄、地址信息组合成一个新的数据类型,我们可以采用如下形式:,struct Student,public int No;/记录学号信息,public string Name;/记录学生姓名,public char sex;/学生性别,public int Age;/学生年龄,public string Addr;/学生的地址,Student s;,枚举类型,在程序设计中,有时会用到由若干个有限数据元素组成的集合,可将这些数据集合定义为枚举类型(enum)。,枚举类型定义的一般形式为:enum枚举名,枚举值表;,在枚举值表中应罗列出所有可用值,这些值也称为枚举元素。,枚举类型,enum Weekdaysun,mon,tue,wed,thu,fri,sat;,该枚举名为Weekday,枚举值共有7个,即一周中的七天。,按照系统默认,枚举中的每个元素的类型都是整型类型,且第1个元素的值为0,后面的元素按照加1递增。当然也可以给元素之间赋值,例如:,enum Weekdaysun=1,mon=4,tue,wed,thu,fri,sat;,这样sun的值为1,mon的值为4,tue的值为5,以后值按照加1递增。,3.2.2引用类型,引用类型,其含义是该类型的变量不直接存储所包含的值,而是指向它所要存储的值.在C#中提供以下引用类型给你使用:,类类型,字符串类型,数组类型,代表类型,接口类型,类类型,类是面向对象编程的基本单位,它是一种包含数据成员,函数成员和嵌套类型的数据结构。类的数据成员有常量,域和事件,函数成员包括方法,属性,索引指示器,运算符,构造函数和析构函数,有关类的深入讲述我们放在第6章介绍。,字符串类型,在C#中有一个用于操作字符串数据的基本字符串类型,字符串类直接派生自对象,且它是被密封的,这意味着再不能从它派生类。就象其它类型,字符串是预定义类System String的一个别名。,它的用法十分简单:,string myString=some text;,数组,同C语言一样,C#语言中也有数组类型,但是与C语言中数组概念相比有了很大扩展。一个数组包含有通过计算下标访问的变量,所有包含于数组中且被当作元素的变量必须是同一类型。这种类型自然被称为数组类型。,数组,让我们看一下用一个数组初始化器初始化的数组:,string arrLanguages=C,C+,C#;,该简写效果等同以下:,arrLanguages0=C;arrLanguages1=C+;arrLanguages2=C#;,接口类型,一个接口是一个只有抽象成员的引用类型。C#中的接口只有方法名,但这些方法没有执行代码。,下面我们定义一个接口IFace,它只有一个方法:,interface IFace,void ShowMyFace();,委托类型,C#中的委托类型和C/C+中的函数指针非常相似,C#中的委托类型有一个特性就是不需要知道被引用的方法属于那一个类对象,只要函数的参数个数与返回值与委托类型对象中的一致就可以了。,定义一个委托类型,该类型名为MyDelegate:,delegatestringMyDelegate();,委托类型,下面定义一个类MyClass,该类中包含一个名为SayHello的方法,请注意,该方法与我们上面声明的委托类型具有相同的参数个数和返回值。,publicclassMyClass,publicstringSayHello(),returnHellotheworld!;,委托类型,我们定义一个测试类TestMyClass,publicclassTestMyClass,publicstaticvoidMain(stringargs),MyClassmyClass1=newMyClass();,MyDelegatemyDelegate1=newMyDelegate(myClass1.SayHello);,/下面就使用myDelegate1代替对象myClass1的SayHello方法,System.Console.WriteLine(myDelegate1();/输出结果为hellotheworld!与调用myClass1.SayHello();效果相同,3.2.3装箱和拆箱,装箱和拆箱是C#类型系统的核心概念。通过允许一个值类型转换成引用类型对象或从引用类型对象转换成值类型,这种机制形成了值类型和引用类型之间的捆绑连接。,装箱转换,给一个值装箱是指隐式地把任何值类型转换成类型对象。当一个值类型被装箱时,一个对象实例就被分配,且值类型的值被拷贝给新的对象。,int nvalue=2000;,object obj=nvalve;,3.2.3装箱和拆箱,拆箱转换,和装箱相比,拆箱操作是显式操作
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服