收藏 分享(赏)

第4章.ASP.NET的网页代码模型及生命周期(ASP.NET_3.5开发大全_共29章).pdf

上传人:认真的雪 文档编号:973905 上传时间:2019-10-20 格式:PDF 页数:14 大小:661.87KB
下载 相关 举报
第4章.ASP.NET的网页代码模型及生命周期(ASP.NET_3.5开发大全_共29章).pdf_第1页
第1页 / 共14页
第4章.ASP.NET的网页代码模型及生命周期(ASP.NET_3.5开发大全_共29章).pdf_第2页
第2页 / 共14页
第4章.ASP.NET的网页代码模型及生命周期(ASP.NET_3.5开发大全_共29章).pdf_第3页
第3页 / 共14页
第4章.ASP.NET的网页代码模型及生命周期(ASP.NET_3.5开发大全_共29章).pdf_第4页
第4页 / 共14页
第4章.ASP.NET的网页代码模型及生命周期(ASP.NET_3.5开发大全_共29章).pdf_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、 第 2 章 C# 3.0 程序设计基础 在第一章里,了解了 ASP.NET 3.5 的特性和一些基本的 .NET Framework 知识,不过如果要深入到ASP.NET 3.5 应用程序 开发 ,需要对开发语言有更加深入的了解 。 而在 .NET 平台上,微软主推的编程语言就是 C#,本章将会从 C#的语法 、 结构和特性来讲解 ,以便读者能够深入的了解 C#程序设计 。 2.1 C#程序 C#程序有自己的程序结构。 C#编程语言 类似 C+/Java 等面向对象编程语言,同样需要编写类、 创建对象等 。 但是 C#依旧有与其他面向对象编程语言不同的特性 , 使用这些特性能够快速的正确的编

2、写C#宿主语言的应用程序,如 ASP.NET、 WinForm 等 。 2.1.1 C#程序的结构 在开始学习和编写 C#代码之前,首先应该了解 C#编程 语言的结构,下列代码说明了 C#应用程序的基本结构。 using System; using System.Collections.Generic; using System.Linq; using System.Text; /使用命名空间 namespace mycsharp /程序代 码命名空间 class Program /应用程序主类 static void Main(string args) /入口方法 Console.Write

3、Line(“Hello World“); /输出 Hello World Console.ReadKey(); /等待用户输入 其中 , using 关键字的用途是引用微软的 .NET 框架中现有的类库资源,该关键字出现在应用程序代码的开头,并使用 在 cs 为后缀的文件 中使用 。 using 关键字通常情况下 会出现几次,其目的是引用类库中的各种资源, 这些资源 不仅 包括代码中的 System,System.Collections.Generic,Linq,还包括其他 .NET 框架的资源 。 System 命名空间提供了构建应用程序所需的各种系统功能 ,例如 LINQ 的类库 包括了构

4、建 LINQ 应用程序的各种类库资源 。 .NET 中提供大量的命名空间, 以便开发人员能够使用现有的类库 进行应用程序的开发。 同时 ,在代码中也可以看到在 其中 包含 一个 mycsharp 的一个命名空间, 示例代码 如 namespace mycsharp。 在 当前 程序中声明 该 命名空间,可以在其他的程序中引用这个命名空间,并使用此命名空间下的类和方法。 21 另外, Program 是一个类名。 在 C#或其他的任何面向对象语言中( 如 JAVA、 C+) 都需要编写类,类用于创建对象。 在上述代码中, Program 是一个类的名称。 方法 是 用于描述类的行为 。 在上述示

5、例第 9 行中, static void Main 是一个全局静态方法,它指示编译器从此处开 始执行程序,相当于程序的入口,程序运行的时候会执行 Main 方法作为入口 。 在 C# Windows 编程中,大部分的应用程序必须在 其 组成程序的其中一个类中包含 Main 方法。 语句 就是在 C#应用程序中包含的指令,通过使用 分号 进行 分割,编译器通过分号来区分它们 。 一些编程语言只允许一行放置一条语句,但是 C#允许放置多个语句,也可以将一个语句拆分成多行 。 虽然 C#编译器支持这样的特性,但是 还是推荐使用一行放置一个语句的,这样不仅提高了可读性,也便于书写。 括号“ ”和“ ”

6、用来标识程序中代码的范围,如上述代码中 Main 方法 囊括了 Main 方法的语句,Program 类囊括了类的方法,而 namespace mycsharp 命名空间囊括了此命名空间里的所有类。值得注意的是, Visual Studio 2008 为开发人员在编写程序的时候提供了诸多的智能提示, 在完成一个类或一个变量时,系统会自动补全, 而 当鼠标放到一个大括号上的时候,编译器会指示开发人员此括号的范围,如图 2-1 所示。 图 2-1 外围元素被标记 注意 : 在一个类内的所有方法都是独立的方法 ,所以每个大括号后面都不需要分号 ,同样 对于 命名空间里的所有类也是一样 。 2.1.2

7、 C# IDE 的代码设置 代码格式也是程序设计中一个非常重要 的组成环节,他可以帮助用户组织代码和 改进代码,也让代码具有可读性 。 具有良好可读性的代码能够让更多的开发人员更加轻松 的了解 和认知 代码 。 按照约定的格式书写代码是一个非常良好的习惯 , 下面的代码示例说明了应用缩进 、 大小写敏感 、 空白区和注释等格式的原则。 using System; using System.Collections.Generic; using System.Linq; /使用 LINQ 命名空间 using System.Text; namespace mycsharp /声明命名空间 clas

8、s Program /主程序类 22 static void Main(string args) /静态方法 Console.WriteLine(“Hello World“); /这里输出 Hello World Console.WriteLine(“按任意键退出 .“); Console.ReadKey(); /这里让用户按键后退出 ,保持等待状态 1 缩进 缩进可以帮助开发人员 阅读代码 , 同样 能够给 开发人员 带来层次感 。 读者可以从以上代码看出 这一串代码 让人 能够很好的分辨区域 , 非常方便的 就能 找到 Main 方法的 代码 区域 , 这是 因为括号都是有层次的 。 缩进

9、让 代码保持优雅 , 同一语句块中的语句应该缩进到同一层次 , 这是一个非常重要的约定 , 因为它直接影响到代码的可读性 。 虽然缩进不是必须的 , 同样 也没有编译器强制 , 但是为了在不同人员 的开发中能够进行良好的协调,这是一个值得去遵守的约定。 2 大小写敏感 C#是一种对大小写敏感的编程语言 。 可能 php 等其他语言的开发 人员 不太适应大小写敏感 , 但是在C#中 , 其语法规则 的确 是对字符串 中字母的 大小写敏感的 ,例如 “ C Sharp” 、 “ c Sharp” 、 “ c sHaRp”都是不同的字符串 , 在编程中应当注意 。 3 空白 C#编译器会忽略到空白

10、。使用空白能够 改善代码的格式 , 提高代码的可读性 。 但是 值得注意的是,编译器不对引号内的任何空白做忽略 , 在引号内的空格作为字符串存在 。 4 注释 在 C/C+里 , 编译器 支持开发人员编写注释 , 以便开发人员能够方便的阅读代码 。 当然 , 在 C#里也一样继承了 这个良好的习惯 。 之所以 这里说的是习惯 , 是因为 编写注释 同缩进一样 , 没有人强迫 要 编写注释 , 但是良好的注释习惯能够让 代码更加优雅和可读 , 谁也不希望自己的代码在 某 一天过后自己也不认识了 。 注释的写法是以 符号 “ /*” 开始 ,并以 符号 “ */” 结束 , 这样能够让 开发人员

11、更加轻松的了解代码的作用 , 同时, 也可以使用 符号 “ /” 双斜线来写注释 , 但是这样的注释是单行的 , 示例代码如下所示 。 /* * 多行注 释 * 本例演示了在程序中写注释的方法 在注释内也可以不要开头的 *号 */ /单行注释 ,一般对单个语句进行注释 5 布局风格 class Program static void Main(string args) Console.WriteLine(“Hello World“); /这里输出 Hello World Console.WriteLine(“按任意键退出 .“); Console.ReadKey(); /这里让用户按键后退出

12、,保持等待状态 23 从以上代码可以看出 ,程序中 使用了缩进 、 大小写敏感 , 空白区和注释等 , 但是这个代码风格依旧不是最好 , 可以 修改代码让代码更加“好看” 。这里能够 将代码进行修正, 修正后的 示例 代码 如下 所示。 class Program static void Main(string args) Console.WriteLine(“Hello World“); /这里输出 Hello World Console.WriteLine(“按任意键退出 .“); Console.ReadKey(); /这里让用户按键后退出 ,保持等待状态 这种布局风格让开发人员 感觉到

13、耳目一新 , 这样更能方便更多的开发人员 阅读 源代码 。 如果打开 一千 行 或更多 代码 量 的源文件 时 , 其编 码格式 都是 标准的风格的话 , 不管是谁再接手去阅读 , 都能尽快上手 。不仅如此 , 在软件开发当中 , 应该规定好每个人都使用同样的布局风格 ,让团队能够协调运作 。 2.2 变量 在任何编程语言中,无论是传统的面向过程还是面向对象 都必须使用变量。因此,变量都有自己的数据类型, 在使用变量的时候,必须使用相同的数据类型进行运算。在程序的运行 中,计算中临时存储的数据都必须用到变量,变量的值也会放置在内存当中,由计算机运算后再保存到变量中,由此可见,变量在任何的应用程

14、序开发中都是非常基础也是非常重要的。同样,在 C#中 也需要变量对数 据进行存储, 本节将会介绍 C#的基本语法 、 数据类型 、 变量 、枚举等 。 2.2.1 定义 要声明一个变量就需要为这个变量找到一个数据类型,在 C#中,数据类型由 .NET Framework 和 C#语言来决定,表 2-1 列举了一些预定义的数据类型。 表 2-1 预定义数据类型 预定义类型 定义 字节数 byte 0255之间的整数 1 sbyte -128127之间的整数 1 short -3276832767之间的整数 2 ushort 065535之间的整数 2 int -21474836482147483

15、647之间的整数 4 uint 04294967259之间的整数 4 long -92233720368547758089223372036854775807之间的整数 8 ulong 018445744073709551615之间的整数 8 bool 布尔值 ,true of false 1 float 单精度浮点值 4 double 双精度浮点值 8 decimal 精确的十进制值 ,有 28个有效单位 12 object 其他所有类型的基类 N/A char 065535之间的单个 Unicode字符 2 string 任意长度的 Unicode字符序列 N/A 24 一个简单的声明变量

16、的 代码如下 所示: int s; /声明整型变量 float myfloat; /声明浮点型变量 上述代码声明了一个整型的变量 s,同时也声明了一个单精度浮点型变量 myfloat。 2.2.2 值类型 这种类型的对象总是直接通过其值使用 ,不需要对它进行 引用 。 基于值类型的变量直接包含值 。并且, 所有的 C#局部变量都需要初始化后才可以使用 , 值类型同样如此 ,初始化代码如下所示 。 int s; /声明整型变量 s = new int(); /声明整型变量 s = 3; /初始化变量 上式等同于 如下代码。 int s; /声明整型变量 s = 3; /初始化变量 所有的值类型均

17、隐式的派生自 System.ValueType,并且值类型不能派生出新的类 。 值的类型不能为null,但是可空类型允许将 null 值赋给值类型,在上面的代码中,程序通过默认的构造函数给为变量 s初始化并赋值。 2.2.3 引用类型 引用类型的变量又 称为 对象 , 是 可存储对实际数据的引用。 常见的引用类型有 class、 interface、delegate、 object 和 string。 多个引用变量可以附加于一个对象 , 而且某些引用可以不附加于任何对象 ,如果声明了一个引用类型的变量却不给他赋给任何对象 , 那么它的 默认值就是 null。 相比之下, 值类型的值不能为 nu

18、ll。 2.3 变量规则 声明变量并不是随意声明的,变量的声明有自己的规则 。 在 C#中,应用程序包含 许多 关键字,包括 int 等是不能够声明为变量名的,如 int int 是不允许的 ,在进行变量的声明和定义时,需要注意变量名称是否与现有的关键字重名 。 2.3.1 命名规则和命名习惯 命名规则就是给变量取名的一种规则 , 一般来说 , 命名规则就是为了让 开发人员 给变量 或者命名空间 取个好名 , 不仅要好记 , 还要说明一些特性 。 在 C#里面 , 有常用的一些命名的习惯 如下。 Pascal 大 小写形式 : 所有单词的第一个字母大写 , 其他字母小写 。 Camel 大小写

19、形式 : 除了第一个单词 , 所有单词的第一个字母大写 , 其他字母小写 。 当然 , 在其他编程中 ,不同的开发人员 可能遇到了一些不一样的命名规则和命名习惯 , 但是在 C#中 ,推荐 使用常用的一些命名习惯 , 这样能保证代码的优雅 性 和可读性 。 同时 , 也应该避免使用相同名称的命名空间 或与系统命名相同的变量,如以下代码所示: string int; /系统会提示出错 25 运行上述代码时系统会提示错误,因为 字符串“ int”是一个关键字,当使用 关键字 做变量名时,编译器会混淆该变量是变量还是关键字,所以系统会提示错误。 所以 , 在变量声明时 应该避免 变量名称与关键字重名

20、 , 如果变量名称与关键字重名,编译器就会报错 , C#中常用的关键字 如表 2-2 所示: 表 2-2 不应 使用 的关键字 名称 AddHandler AddressOf Alias And Ansi As Assembly Auto BitAnd BitNot BitOr BitXor Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType Date Decimal Declare De

21、fault Delegate Dim Do Double Each Else ElseIf End Enum Erase Error Event Exit ExternalSource False Finally For Friend Function Get GetType Goto Handles If Implements Imports In Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module MustInherit MustOverride MyClass Namespace MyBase New Ne

22、xt Not Nothing NotInheritable NotOverridable Object On Option Optional Or Overloads Overridable Overrides ParamArray Preserve Private Property Protected Public RaiseEvent ReadOnly ReDim Region REM RemoveHandler Resume Return Select Set Shadows Shared Short Single Static Step Stop String Structure Su

23、b SyncLock Then Throw To True Try TypeOf Unicode Until Variant When While With WithEvents WriteOnly Xor eval extends instanceof package var 注意: 标识符 、 参数名 、 函数名 都不需要使用缩写 。 如果 要使用缩写, 超过两个字符以上的缩写都应该使用 Camel 大写格式 。 2.3.2 声明并初始化变量 在程序 代码编写 中 , 需要大量的使用变量 和读取变量的值 , 所以 需要声明一个变量来 表示 一个值 。这个变量 可能 描述 是一个人的年龄 ,

24、 也 可能是一辆车的颜色 。 在 声明了一个变量之后 , 就必须给这个变量一个值 , 只有在给变量值之后能够说明这个变量被初始化 。 1 语法 声明 变量的语法 非常简单 , 即在数据类型之后编写 变量名 , 如一个人的年龄 ( age) 和一辆车的颜色 ( color) , 声明 代码如下所示 。 int age; /声明 一个叫 age 的 整型 变量 ,代表年龄 string color; /声明 一个叫 color 的字符串变量 ,代表颜色 上述代码声明了一个整型变量 age 和一个字符串型变量 color,由于年龄的值不会小于 0 也不会大于100,所以在声明时可以使用数字类型进行声

25、明。 2 初始化变量 变量在声明后还需要初始化,例如“ 我年龄 21 岁 , 很年轻 , 我想买一辆红色的车 ” , 那么就需要对 相应的 变量进行初始化,示例代码如下所示 。 26 int age; /声明一个叫 age 的整型变量 ,代表年龄 string color; /声明一个叫 color 的字符串变量 ,代表颜色 age = 21; /声明 始化,年龄 21 岁 color = “red“; /声明 始化,车的颜色为红色 上述代码 也可以合并为一个步骤 简化编程开发,示例代码如下所示 。 int age=1; /声明并初始化一个叫 age 的整型变量 ,代表年龄 string color=“red“; /声明初始化

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报