1、ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)重点内容:重点内容:l .NET Framework 2.0.NET Framework 2.0简介简介 l ASP.NETASP.NET的基本概念的基本概念 lWeb FormWeb Form原理原理 lASP.NETASP.NET网站的结构网站的结构 l创建第一个创建第一个ASP.NET WebASP.NET Web应用程序应用程序 ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#).NET Framework是.NET的核心部分,它提供了.NE
2、T应用程序所需的核心服务,是开发配置和运行分布式的Web服务和Web应用的基础平台。.NET Framework是支持生成和运行下一代应用程序和XML Web Services的内部Windows 组件。.NET Framework具有两个主要组件:公共语言运行库和.NET Framework类库。公共语言运行库是.NET Framework的基础。可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以
3、运行库为目标的代码称为非托管代码。.NET Framework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如Web窗体和XML Web services)。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)ASP.NET 页框架是一种编程框架,它在Web服务器上运行以动态地生成和管理 Web 窗体页。ASP.NET 页框架创建了传统客户端/服务器 Web 交互的抽象模型,使开发人员能够
4、使用支持快速应用程序开发和面向对象编程(OOP)的传统方法和工具来进行应用程序编程。ASP.NET页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使开发人员不必考虑基于Web的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。Web Form又被称为Web窗体,Web Form提供了窗体设计器、编辑器、控件和调试功能,这些功能结合在一起,能够为浏览器和Web客户端设备快速地生成基于服务器的可编程用户界面。Web开发人员可以访问许多事件和属性,就像在标准的Windows环境中编程一样,因而极大的提高的程序的开发效率。ASP.
5、NET会把WebForm转换为独立于浏览器和平台核心的HTML页面,使得Web窗体页在任何浏览器或客户端设备都可以上运行并显示。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)ASP.NET应用程序是指可以从特定位置(该特定位置指Web应用程序服务器上的虚拟目录及其子目录)调用的所有文件、页、处理程序、模块和可执行代码 ASP.NET支持XML Web服务。Web服务是微软公司.NET计划的基础,一个Web服务就是一个应用Web协议的可编程的应用程序逻辑。利用Web服务,应用程序可以使用HTTP和XML消息等标准在基于Web的应用程序之间交换信
6、息,从而跨越防火墙移动数据。用任何语言编写的、使用任何组件模型和在任何操作系统上运行的程序都能够访问Web服务。Web服务不仅可以为ASP.NET应用程序提供服务,而且还为具有Web访问权限的任何应用程序提供服务。ASP.NET的比较简单,配置设置存储在基于XML的文件中,对这些文件进行编辑即可完成配置。Visual Studio.NET为向本地或远程服务器部署应用程序提供了一种简化的机制。只需将文件复制到指定的应用程序目录即可部署这些文件。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)Web Form又被成为Web窗体或者Web表单,主要用
7、来根据特定的信息生成动态的页面。Web Form把Visual Basic表单的高生产性的优点带到了网络应用程序的开发中来,将ASP.NET的代码和页面的一般脚本分割开来,这些分割成块的代码可以向组件一样被重复使用,从而提高了开发的效率。Web窗体页由两部分组成:视觉元素(HTML、服务器控件和静态文本)和该页的编程逻辑。Visual Studio.NET将这两个组成部分分别存储在一个单独的文件中。可视元素在一个.aspx文件中创建,而代码位于一个单独的类文件中,该文件称作代码隐藏类文件.aspx.vb(VB.NET)或.aspx.cs(C#)。Web Form的后缀为aspx,当一个浏览器请
8、求一个aspx文件时,Web Form也没被CLR编辑器编译。当用户再次访问该页面时,由于aspx页面已经被编译过了,所以CLR会直接执行编译过的代码。一般来讲,Web 窗体页的生命周期类似于在服务器上运行的任何Web进程的生命周期。ASP.NET页框架通过不同的阶段对Web窗体页进行处理。在Web窗体处理的每一阶段,都可能会引发事件,并且将运行与该事件相对应的任何事件处理程序。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)v.NET Framework 2.0 v代码创作环境(Microsoft Visual Studio和其他集成开发环境
9、(IDE))v一个Web服务器(如 Internet 信息服务(IIS))若要开发ASP.NET Web应用程序(也称为网站),必须具有以下工具:ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)可以将网站的文件保存在方便应用程序访问的任何文件夹结构中。为了更易于使用应用程序,ASP.NET保留了某些可用于特定类型的内容的文件和文件夹名称。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)网站应用程序中可以包含很多文件类型,某些文件类型由ASP.NET支持和管理,而其他文件类型则由IIS服务器支持和
10、管理。大多数ASP.NET文件类型都可以使用Visual Web Developer中的“添加新项”菜单项自动生成。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)由ASP.NET管理的文件类型通常映射到IIS中的asp.dll,由IIS管理的文件类型如表所示。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)使用网站中的资源时,通常必须指定资源的路径。例如,可以使用URL路径引用页面中的图像文件或网
11、站中其他位置处的页面的URL。同样,Web应用程序中的代码可以使用基于服务器的文件的物理文件路径对文件进行读写操作。ASP.NET提供用于引用资源并确定应用程序中的页面或其他资源的路径的方法。指定资源的路径 绝对URL路径()站点根目录相对路径()根据当前页面路径解析的相对路径()解析为当前页面路径对等的相对路径()ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)确定当前网站的物理文件路径 在应用程序中,可能需要确定服务器上的文件或其他资源的路径。例如,如果应用程序以编程方式对文本文件进行读写操作,则必须为用于读取和写入的方法提供该文件的完整物
12、理路径。将物理文件路径(如C:WebsiteMyApplication)硬编码到应用程序中并不是很好的做法,因为如果移动或部署应用程序,则路径会发生更改。但是,ASP.NET提供了以编程方式获取应用程序中的任何物理文件路径的方法。然后,可以使用基文件路径创建所需资源的完整路径。用于确定文件路径的两种最常用的ASP.NET功能是返回路径信息的HttpRequest对象的属性,以及MapPath方法。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)如果Web应用程序包括要在多个页之间共享的代码,可以将代码保存在Web应用程序根目录下的两个特殊文件夹
13、(Bin文件夹和App_Code文件夹)中的某个文件夹中。在Bin文件夹中可以存储编译的程序集,Web应用程序任意处的其他代码(如页代码)都会自动引用该文件夹。Bin文件夹中的程序集无需注册。只要.dll文件存在于Bin文件夹中,ASP.NET就可以识别它。可以在App_Code文件夹中存储源代码,在运行时将会自动对这些代码进行编译。Web应用程序中的其他任何代码都可以访问产生的程序集。因此,App_Code文件夹的工作方式与Bin文件夹很类似,不同之处是可以在其中存储源代码而非已编译的代码。App_Code文件夹及其在ASP.NET Web应用程序中的特殊地位使得可以创建自定义类和其他仅源代
14、码文件,并在Web应用程序中使用它们而不必单独对它们进行编译。App_Code文件夹可以包含以传统类文件(即带有.vb、.cs 等扩展名的文件)的形式编写的源代码文件。但是,它也可以包含并非明确显示出由某一特定编程语言编写的文件。例如.wsdl(Web 服务发现语言)文件和XML架构(.xsd)文件。ASP.NET 可以将这些文件编译成程序集。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)IIS(Internet Information Server)的主要功能是响应使用者的请求,将所要浏览的网页内容传输给客户端;管理及维护Web 站台;管理
15、及维护FTP 站台;SMTP虚拟服务器等。目前IIS的最新版本6.0 版,是Windows 2003的内建组件。打开“控制面板”窗口,在窗口中双击“添加/删除程序”图标,打开“添加/删除程序”对话框,单击对话框左侧的“添加/删除Windows 组件”命令,弹出“Windows组件”对话框,选中“Internet信息服务(IIS)”,此时可以单击“详细信息”按钮查看要安装的内容,单击“确定”按钮即开始安装。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)Visual Studio 2005的安装过程,依然继承了Visual Studio.NET
16、2003简洁、实用的特点。Visual Studio 2005的安装过程高度自动化,除了进行必要的配置之外,无需多余的操作。在成功安装Visual Studio 2005之后,向导将显示结束报告。最后,返回安装首页面,用户可以接着安装产品文档。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)使用Visual Studio 2005创建一个ASP.NET Web应用程序,起始界面如左图所示,单击“测试”按钮,效果如右图所示。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)重点内容:重点内容:l H
17、TMLHTML网页设计基础网页设计基础 l VBScriptVBScript语言语言 lJavaScriptJavaScript语言语言ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)HTML是超文本标记语言(Hyper Text Markup Language)的缩写,可以满足跨平台的需要,使Web页面在各种系统上都能浏览。HTML语言是一种描述文档结构的语言,可以指定Web页的外观和布局;图形放在什么地方,文本的外观如何,单击某个链接跳转到哪些页面等内容。HTML语言使用描述性的标记符(称为标签)来指明文档的不同内容,这些标记用尖括号括起来
18、使用特定的字符表示特定的含义,并且不区分大小写。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)HTML文档中,标签可以定义不同显示效果的标题,n表示标题的级数,取值范围为1到6,1级标题的字体最大,6级标题的字体最小。使用标题标签演示使用标题标签演示欢迎使用欢迎使用ASP.NET2.0!欢迎使用欢迎使用ASP.NET2.0!欢迎使用欢迎使用ASP.NET2.0!欢迎使用欢迎使用ASP.NET2.0!欢迎使用欢迎使用ASP.NET2.0!欢迎使用欢迎使用ASP.NET2.0!ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态
19、网站开发基础教程(C#C#)段落标签的格式为,用来创建一个新的段落。表示一个段落的开始,结尾标记可以省略,但是一般情况下,为了防止文档出错,尽量不要省略结尾标记。标签最常用的属性就是align属性,用于设置内容的对齐方式 使用段落标签使用段落标签这一段左对齐这一段左对齐这一段右对齐这一段右对齐这一段居中对齐这一段居中对齐ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)在网页中经常使用的列表分为顺序列表,无序列表和自定义列表三种。其中,顺序列表是指各列表项之间是有顺序的,从1、2、3一直延伸下去。其中,标签用来建立一个顺序序列表,属性start用
20、于指定开始的数目,不论设定了哪一数目款式,其值只能是 1,2,3.等整数,默认值为1;属性type用于指定表示顺序的款式,可以使用如下5个值:ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)链接是一个网站的灵魂。超链接是网页页面中最重要的元素之一。一个网站是由多个页面组成的,页面之间依据链接确定相互的导航关系。链接标记虽然在网站设计制作中占有不可替代的地位,但是其标记只有一个,那就是标记。超链接的使用超链接的使用跳到说明跳到说明链接到链接到2-3 链接到链接到2-2 说明部分说明部分ASP.NET 2.0ASP.NET 2.0动态网站开发基础教
21、程(动态网站开发基础教程(C#C#)表格是一种能够有效的描述信息的组织方式,由行、列和单元格组成,可以很好地控制页面布局。表格的定义通过,和标签实现。表格的一行的第一个单元格表格的一行的第一个单元格表格的一行的第二个单元格表格的一行的第二个单元格.表格的二行的第一个单元格表格的二行的第一个单元格表格的二行的第二个单元格表格的二行的第二个单元格.其中,其中标签用于定义表格,标签用于定义表格中的行,用于定义表格中某个中的单元格。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)网页中具有可输入表项及项目选择等控制所组成的栏目称为表单,它是与用户交互信
22、息的主要手段,在HTML页面中起着重要作用。表单一般由表单标签和表单域组成,其中表单标签里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法;表单域是用户输入和交互的主要界面,包括了,和四种类型,其中类型又包含Text,Radio,Checkbox,Password,Submit/Reset,Image,File,Hidden,Button等类型。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)Web页面中可以使用标签为页面添加图像,使得页面更加漂亮。在Web页面上可以显示.gif,.jpg 或者.png等格式的图像。标签的主
23、要属性如下所示:ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)框架的作用就是把浏览器窗口划分为若干个区域,每个区域可以分别显示不同的网页。使用框架可以非常方便地完成导航工作,而且各个框架之间决不存在干扰问题,所以框架技术一直普遍应用于页面导航。使用框架网页最主要的目的是创建链接的结构。导航条被放置于一个框架之中,可以单击导航条向服务器请求网页,链接的网页出现在另外的框架中,而导航栏所在的网页不发生变化。框架主要包括两个部分,个是框架集,另一个就是框架。框架集是在一个文档内定义一组框架结构的 HTML 网页。框架集定义了在一个窗口中显示的框架数
24、、框架的尺寸、载入到框架的网页等。而框架则是指在网页上定义的一个显示区域。每一个框架都有一个显示的页面,这个页面文件称为框架页面。通过标记可以定义框架页面的内容。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)每种语言都有其数据类型,在VBScript语言中只有一种数据类型,即Variant类型。Variant是一种特殊的数据类型,其子类型基本上包含了所有的基本类型,例如布尔型,整数型等,可使用VarType函数返回数据的Variant子类型。在实际应用中,程序会根据实际的需要选择一个合适的类型进行转换。下面是Variant类型的子类型定义:A
25、SP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)逻辑运算符用于执行逻辑运算,主要包括逻辑与运算符,逻辑或运算符,逻辑非运算符和逻辑异或运算符。位运算符主要用于将两个值进行按位运算,主要包括按位与运算,按位或运算,按位取反运算和按位异或运算。按位与运算的符号和逻辑与运算符一样为“And”ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)条件语句用于控制程序根据不同的条件执行不同的代码,最简单的条件语句为If.Then.Else语句,当需要对多个条件进行判断时,就需要为If.Then.Else 语句添加
26、ElseIf 子句以扩充。在VBScritp语言中还提供了Select Case语句来处理多个分支的情况,Select Case语句和If.Then.ElseIf.Else语句类型,但是Select Case语句可以使得程序结构更加清晰。If 条件表达式条件表达式 Then 条件表达式为条件表达式为True时的程序时的程序Else 条件表达式为条件表达式为False时的程序时的程序End IfIf 条件表达式条件表达式1 Then 条件表达式条件表达式1为为True时的程序时的程序ElseIf 条件表达式条件表达式2 Then 条件表达式条件表达式2为为True时的程序时的程序ElseIf 条
27、件表达式条件表达式3 Then 条件表达式条件表达式3为为True时的程序时的程序.Else 其他情况时执行的程序其他情况时执行的程序End IfSelect Case 条件表达式条件表达式 Case 第一个条件第一个条件 第一个条件成立时的代码第一个条件成立时的代码 Case 第二个条件第二个条件 第二个条件成立时的代码第二个条件成立时的代码 Case 第三个条件第三个条件 第三个条件成立时的代码第三个条件成立时的代码 .Case Else 上述条件都不成立时的代码上述条件都不成立时的代码End SelectASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教
28、程(C#C#)循环用于重复执行一组语句。VBScript的循环语句有,While.Wend循环,Do.Loop循环,For.Next循环和For Each.Next。While 循环条件循环条件 循环语句循环语句WendDo While|Until 循环条件循环条件循环语句循环语句Exit Do循环语句循环语句Loop For 计数器计数器=start To end Step 步长步长循环语句循环语句Exit For循环语句循环语句NextFor Each element In 数组数组/集合集合循环语句循环语句Exit For循环语句循环语句Next elementASP.NET 2.0AS
29、P.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)在程序中使用子过程的好处是,可以使程序变得更清楚明了,如果在程序中有很多重复使用的程序代码,就可以将它写成子过程。Sub 子过程名称子过程名称(参数参数 1,参数,参数 2,)程序代码程序代码 End Sub VBScript-Sub子过程子过程 sub blue_onclick document.bgcolor=blue msgbox您单击的是蓝色按钮您单击的是蓝色按钮 end sub ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)Function 函数通常用来定义一段
30、经常共用的程序代码,以增加程序的可读性和易维护性。其语法格式如下:Function 函数名称函数名称(参数参数 1,参数参数 2,)程序代码程序代码 End Function VBScript-Function函数函数 sub confirm_onclick msgbox 10的平方等于的平方等于&getPower(10)end subFunction getPower(x)getPower=x*xEnd Function ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)用户经常遇到在另一个程序中调用子过程或函数的情况。在VBScript中有两
31、种调用子过程和函数的语句。其语法格式如下:Call 过程名称或函数名称过程名称或函数名称(参数参数 1,参数参数 2,)过程名称或函数名称过程名称或函数名称 参数参数 1,参数参数 2,第一种格式是在子过程或函数的名称前加上关键字 Call,但要注意将参数写在括号里。第二种格式只在子过程或函数名称后加上所需要的参数名称即可,多个参数之间要用逗号加以隔开。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)JavaScript中有六种基本的数据类型:数值(整数和实数)、字符串型、布尔型、对象、未定义和空值。数值类型包括整数,浮点数和NaN字符串也是一
32、个对象。字符串使用双引号或者单引号说明,如果在字符串中要包括双引号,则使用单引号引出双引号 布尔型常用于判断,只有两个可选的值:true和false。其中,true表示条件为“真“,false表示条件为false。JavaScript中可以使用对象,常见对象包括Navigator、Window、Location、History、Document。如果一个变量被定义后没有对其进行初始化,则该变量的值为未定义Undefined 类型。JavaScript中用null表示空值,如果引用未创建的对象,就会返回一个null值。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发
33、基础教程(C#C#)条件语句用于控制程序根据不同的条件执行不同的代码,最简单的条件语句为if-else语句,其语法定义如下:if(条件表达式)(条件表达式)代码代码1/代码块代码块1else 代码代码2/代码块代码块2 在JavaScritp语言中还提供了switch语句来处理多个分支的情况,switch语句可以使得程序结构更加清晰。下面是switch语句的语法定义:switch(条件表达式条件表达式)case 第一个条件第一个条件:第一个条件成立时的代码第一个条件成立时的代码 break;case 第二个条件第二个条件:第二个条件成立时的代码第二个条件成立时的代码 break;.defaul
34、t:上述条件都不成立时的代码上述条件都不成立时的代码 ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)循环用于重复执行一组语句。JavaScript的循环语句有while循环和for循环。while当指定的循环条件为true时,执行循环体中的一系列的语句,其语法定义如下:while(循环条件循环条件)循环语句循环语句 for循环用于将循环体中的代码运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。for循环的语法定义如下:for(初始化(初始化;循环条件循环条件;增量)增量)循环语句循环语句ASP.NET 2.0ASP.
35、NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)计算机程序里使用的单独的语句通常被组织成称为过程的逻辑单元。在 JavaScript程序设计中,过程被称为函数。函数可以把一组相关的JavaScript语句当作一个独立的单元。函数和所有其他JavaScript代码一样,必须放在 标签对之内。在JavaScript程序中使用函数之前,首先必须创建或定义该函数。在HTML文档内构成函数的语句行叫做函数定义。定义函数的语法如下:function name_of_function(parameters)statements;ASP.NET 2.0ASP.NET 2.0动态网站开发基础
36、教程(动态网站开发基础教程(C#C#)重点内容:重点内容:l 数据类型数据类型 l 运算符运算符l控制语句控制语句l字符串处理字符串处理l类和对象类和对象l委托与事件委托与事件 lC#2.0C#2.0的新特性的新特性 ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)C#中数据类型可以分为值类型和引用类型。值类型又可以称为数值类型,其中包含简单类型(Simple Types)、枚举类型(Enum Types)和结构类型(Struct Types)三种;引用类型包含类类型(Class Types)、对象类型(Object Types)、字符串类型(
37、String Types)、数组类型(Array Types)、接口类型(Interface Types)和代理类型(Delegate Types)等。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)C#中的值类型数据,存储在内存的堆栈中时,每个变量或程序都有自己的堆栈,不能共用一个堆栈地址。当数据从一个值类型的变量传递到另一个相同类型的变量时,会在堆栈中分配两个不同的地址。简单类型是数值类型的一种,是组成应用程序的基本组成部件,简单类型又包括:整数类型,浮点类型,布尔类型,字符类型等,枚举(enum)类型是由一组特定的常量构成一种数据结构,系
38、统把相同类型、表达固定含义的一组数据作为一个集合放到一起形成新的数据类型。结构类型通常是一组相关的信息组合成的单一实体。其中的每个信息称为它的一个成员。结构类型可以用来声明构造函数、常数、字段、方法、属性、索引、操作符和嵌套类型。结构类型通常用于表示较为简单或者较少的数据,其实际应用意义在于使用结构类型可以节省使用类的内存的占用,因为结构类型没有如同类对象所需的大量额外的引用。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)C#中的引用类型数据,存储在内存的堆栈中时,不同的变量共同使用同一个位置的数据,当数据从一个引用类型的变量传递到另一个相同
39、类型的变量时,只是把这个变量的引用地址传递给新的变量,同时引用当前堆栈的数据。字符串实际上是Unicode字符的连续集合,通常用于表示文本,而String是表示字符串的System.Char对象的连续集合。在C#中提供了对字符串(string)类型的强大支持,可以对字符串进行各种的操作。string类型对应于.NET Framework中定义的System.String类,System.String类是直接从object派生的,并且是final类,不能从它再派生其他类。数组(Array)是一种数据结构,它包含了通过计算索引访问的变量成员。包含于数组中的变量成为数组元素。所有的数组元素都具有相同
40、的数据类型,而这个类型被称为数组类型。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)C#代码由一系列语句组成,每条语句都以分号表示结束,物理上的一行可以容纳多条语句,但为了达到可读性要求,不建议在行上放置多条语句了。反过来,一条句语句放在多个行上则比较常见。C#是一个块结构的语言,所有的语句都是代码块的一部分。这些块用一对花括号(“”)来界定,一个语句块可以包含任意多条语句,或者根本不包含语句。花括号字符本身不加分号且最好独占一行,花括号字符必须成对出现,“”自动与自身以前的且最临近的“”进行匹配。1:using System;2:class
41、 Test3:4:public static void print()5:6:Console.WriteLine(“Function print!”);7:9:public static void Main()10:11:Console.WriteLine(this is my first C#program 12:hello world!);13:14:在这段代码中,11和12行虽然物理上是两行,但是由于11行后面没有语句结束标志符“;”,所以11、12行被看作是一条语句。代码块可以互相嵌套(即块中可以包含其他块),而被嵌套的块要缩进得多一些。在上面的实例代码中,10到13行之间的内容可以“
42、看作”是一条语句,嵌套在外层大括号内部,根据匹配原则,第13与第10行匹配,第7行与第5行相匹配,第14行与第3行进行匹配。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)标识符(identifier)是C#程序员为类型、方法、变量、常量等所定义的名字。关键字(Keyword)是C#程序语言保留作为专用的字,不能作为通常的标识符来使用。标识符(identifier)名以字母、下划线(_)等Unicode字符开头,但是不能以数字开头,不能包含空格,关键字不可以用作普通标识符,但可以用前缀来避免这种冲突。关键字也称为保留字(reserved wor
43、d),在C#语言中有如下关键字:ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)所谓常量,就是在程序的运行过程中其值不能被改变的量。常量的类型也可以是任何一种C#的数据类型。常量的定义格式如下:const 常量数据类型 常量名(标识符)常量值;所谓变量,就是在程序的运行过程中其值可以被改变的量,变量的类型可以是任何一种C#的数据类型。所有值类型的变量具有实际存在于内存中的值,也就是说当将一个值赋给变量是执行的是值拷贝操作。变量的定义格式和常量的有些类似,只是没有了const关键字,其定义格式如下:变量数据类型 变量名(标识符);或者 变量数据类
44、型 变量名(标识符)变量值;ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)装箱转换是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。把一个值类型的值装箱,就是创建一个object实例并将这个值复制给这个object,装箱后的object对象中的数据位于堆中,堆中的地址在栈中。被装箱的类型的值是作为一个拷贝赋给对象的。拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口的值类型。注意装箱操作可以隐式进行但拆箱操作必
45、须是显式的。拆箱过程分成两步:首先,检查这个对象实例,看它是否为给定的值类型的装箱值。然后,把这个实例的值拷贝给值类型的变量。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)算术运算符主要用于数学计算中,主要有加法运算符(+),减法运算符(),乘法运算符(*),除法运算符(/),求模运算符(%),自加运算符(+)和自减运算符(-)。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)赋值运算符用于将一个数据赋予一个变量、属性或者引用,数据可以是常量,也可以是表达式。ASP.NET 2.0ASP.NE
46、T 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)关系运算符表示了对操作数的比较运算,有关系运算符组成的表达式就是关系表达式。关系表达式的结果只可能有两种即“true”或“false”。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)逻辑运算符主要用于逻辑判断,主要包括逻辑与,逻辑或和逻辑非。其中,逻辑与和逻辑或属于二元运算符,“逻辑非”运算符是一元运算符。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)C#中唯一的一个三元操作符就是条件运算符(?:),由条件运算符组成的表达式就是
47、条件表达式,条件表达式的一般格式为:操作数操作数1?操作数操作数2:操作数操作数3 其中,“操作数1”的值必须为逻辑值,否则将出现编译错误。进行条件运算时,首先判断问号前面的“操作数1”的逻辑值是真还是假,如果逻辑值为真,则条件运算表达式的值等于“操作数2”的执行结果值;如果为假,则条件运算表达式的值等于“操作数3”的执行结果值。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)在C#中,new运算符用于创建对象和调用构造函数,new 运算符还用于调用值类型的默认构造函数。在C#中为这些运算符定义了不同的优先级,相同优先级的运算符按照从左至右的顺
48、序执行。括号是优先级最高的,可以任意的改变符号的计算顺序。在C#中运算符的优先级定义如表所示,其中1级表示最高优先级,12级表示最低优先级。ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)分支是控制下一步要执行哪些代码的过程,C#中分支语句主要有if语句和switch语句,三元运算符(?:)也有分支的功能。if语句是最常用的分支语句,使用该语句可以有条件地执行其他语句。if语句的最基本使用格式如下:if(测试条件测试条件)测试条件为测试条件为true时的代码或者代码块时的代码或者代码块 switch语句非常类似于if语句,它也是根据测试的值来有
49、条件地执行代码,实际上switch语句完全可以使用if语句代替。一般情况下,如果只有简单的几个分支就需要使用if语句,否则建议使用switch语句,这样可以使代码的执行效率比较高。switch语句的基本语法定义如下:switch(测试值测试值)case 比较值比较值1:当测试值等于比较值当测试值等于比较值1时要执行的代码时要执行的代码 break;case 比较值比较值2:当测试值等于比较值当测试值等于比较值2时要执行的代码时要执行的代码 break;.case 比较值比较值n:当测试值等于比较值当测试值等于比较值n时要执行的代码时要执行的代码 break;default:当测试值不等于以上各
50、个比较值时要执行的代码当测试值不等于以上各个比较值时要执行的代码 break;ASP.NET 2.0ASP.NET 2.0动态网站开发基础教程(动态网站开发基础教程(C#C#)当需要反复执行某些相似的语句时,就可以使用循环语句了,这对于大量的重复操作时尤其有意义。C中的循环语句有四种:do-while循环,while循环,for循环和foreach循环。do-while语句根据其布尔表达式的值有条件的执行它的嵌套语句一次或者多次;while循环非常类似于do循环;for循环是最常用的一种循环语句,这类循环可以执行指定的次数,并维护它自己的计数器。for语句首先计算一系列初始表达式的值,接下来当