您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第2章.C# 3.0程序设计基础(ASP.NET 3.5开发大全 共29章)
第2章C#3.0程序设计基础在第一章里,了解了ASP.NET3.5的特性和一些基本的.NETFramework知识,不过如果要深入到ASP.NET3.5应用程序开发,需要对开发语言有更加深入的了解。而在.NET平台上,微软主推的编程语言就是C#,本章将会从C#的语法、结构和特性来讲解,以便读者能够深入的了解C#程序设计。2.1C#程序C#程序有自己的程序结构。C#编程语言类似C++/Java等面向对象编程语言,同样需要编写类、创建对象等。但是C#依旧有与其他面向对象编程语言不同的特性,使用这些特性能够快速的正确的编写C#宿主语言的应用程序,如ASP.NET、WinForm等。2.1.1C#程序的结构在开始学习和编写C#代码之前,首先应该了解C#编程语言的结构,下列代码说明了C#应用程序的基本结构。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;//使用命名空间namespacemycsharp//程序代码命名空间{classProgram//应用程序主类{staticvoidMain(string[]args)//入口方法{Console.WriteLine(HelloWorld);//输出HelloWorldConsole.ReadKey();//等待用户输入}}}其中,using关键字的用途是引用微软的.NET框架中现有的类库资源,该关键字出现在应用程序代码的开头,并使用在cs为后缀的文件中使用。using关键字通常情况下会出现几次,其目的是引用类库中的各种资源,这些资源不仅包括代码中的System,System.Collections.Generic,Linq,还包括其他.NET框架的资源。System命名空间提供了构建应用程序所需的各种系统功能,例如LINQ的类库包括了构建LINQ应用程序的各种类库资源。.NET中提供大量的命名空间,以便开发人员能够使用现有的类库进行应用程序的开发。同时,在代码中也可以看到在其中包含一个mycsharp的一个命名空间,示例代码如namespacemycsharp。在当前程序中声明该命名空间,可以在其他的程序中引用这个命名空间,并使用此命名空间下的类和方法。21另外,Program是一个类名。在C#或其他的任何面向对象语言中(如JAVA、C++)都需要编写类,类用于创建对象。在上述代码中,Program是一个类的名称。方法是用于描述类的行为。在上述示例第9行中,staticvoidMain是一个全局静态方法,它指示编译器从此处开始执行程序,相当于程序的入口,程序运行的时候会执行Main方法作为入口。在C#Windows编程中,大部分的应用程序必须在其组成程序的其中一个类中包含Main方法。语句就是在C#应用程序中包含的指令,通过使用分号进行分割,编译器通过分号来区分它们。一些编程语言只允许一行放置一条语句,但是C#允许放置多个语句,也可以将一个语句拆分成多行。虽然C#编译器支持这样的特性,但是还是推荐使用一行放置一个语句的,这样不仅提高了可读性,也便于书写。括号“{”和“}”用来标识程序中代码的范围,如上述代码中Main方法囊括了Main方法的语句,Program类囊括了类的方法,而namespacemycsharp命名空间囊括了此命名空间里的所有类。值得注意的是,VisualStudio2008为开发人员在编写程序的时候提供了诸多的智能提示,在完成一个类或一个变量时,系统会自动补全,而当鼠标放到一个大括号上的时候,编译器会指示开发人员此括号的范围,如图2-1所示。图2-1外围元素被标记注意:在一个类内的所有方法都是独立的方法,所以每个大括号后面都不需要分号,同样对于命名空间里的所有类也是一样。2.1.2C#IDE的代码设置代码格式也是程序设计中一个非常重要的组成环节,他可以帮助用户组织代码和改进代码,也让代码具有可读性。具有良好可读性的代码能够让更多的开发人员更加轻松的了解和认知代码。按照约定的格式书写代码是一个非常良好的习惯,下面的代码示例说明了应用缩进、大小写敏感、空白区和注释等格式的原则。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;//使用LINQ命名空间usingSystem.Text;namespacemycsharp//声明命名空间{classProgram//主程序类22{staticvoidMain(string[]args)//静态方法{Console.WriteLine(HelloWorld);//这里输出HelloWorldConsole.WriteLine(按任意键退出..);Console.ReadKey();//这里让用户按键后退出,保持等待状态}}}1.缩进缩进可以帮助开发人员阅读代码,同样能够给开发人员带来层次感。读者可以从以上代码看出这一串代码让人能够很好的分辨区域,非常方便的就能找到Main方法的代码区域,这是因为括号都是有层次的。缩进让代码保持优雅,同一语句块中的语句应该缩进到同一层次,这是一个非常重要的约定,因为它直接影响到代码的可读性。虽然缩进不是必须的,同样也没有编译器强制,但是为了在不同人员的开发中能够进行良好的协调,这是一个值得去遵守的约定。2.大小写敏感C#是一种对大小写敏感的编程语言。可能php等其他语言的开发人员不太适应大小写敏感,但是在C#中,其语法规则的确是对字符串中字母的大小写敏感的,例如“CSharp”、“cSharp”、“csHaRp”都是不同的字符串,在编程中应当注意。3.空白C#编译器会忽略到空白。使用空白能够改善代码的格式,提高代码的可读性。但是值得注意的是,编译器不对引号内的任何空白做忽略,在引号内的空格作为字符串存在。4.注释在C/C++里,编译器支持开发人员编写注释,以便开发人员能够方便的阅读代码。当然,在C#里也一样继承了这个良好的习惯。之所以这里说的是习惯,是因为编写注释同缩进一样,没有人强迫要编写注释,但是良好的注释习惯能够让代码更加优雅和可读,谁也不希望自己的代码在某一天过后自己也不认识了。注释的写法是以符号“/*”开始,并以符号“*/”结束,这样能够让开发人员更加轻松的了解代码的作用,同时,也可以使用符号“//”双斜线来写注释,但是这样的注释是单行的,示例代码如下所示。/**多行注释*本例演示了在程序中写注释的方法在注释内也可以不要开头的*号*///单行注释,一般对单个语句进行注释5.布局风格classProgram{staticvoidMain(string[]args){Console.WriteLine(HelloWorld);//这里输出HelloWorldConsole.WriteLine(按任意键退出..);Console.ReadKey();//这里让用户按键后退出,保持等待状态}23}从以上代码可以看出,程序中使用了缩进、大小写敏感,空白区和注释等,但是这个代码风格依旧不是最好,可以修改代码让代码更加“好看”。这里能够将代码进行修正,修正后的示例代码如下所示。classProgram{staticvoidMain(string[]args){Console.WriteLine(HelloWorld);//这里输出HelloWorldConsole.WriteLine(按任意键退出..);Console.ReadKey();//这里让用户按键后退出,保持等待状态}}这种布局风格让开发人员感觉到耳目一新,这样更能方便更多的开发人员阅读源代码。如果打开一千行或更多代码量的源文件时,其编码格式都是标准的风格的话,不管是谁再接手去阅读,都能尽快上手。不仅如此,在软件开发当中,应该规定好每个人都使用同样的布局风格,让团队能够协调运作。2.2变量在任何编程语言中,无论是传统的面向过程还是面向对象都必须使用变量。因此,变量都有自己的数据类型,在使用变量的时候,必须使用相同的数据类型进行运算。在程序的运行中,计算中临时存储的数据都必须用到变量,变量的值也会放置在内存当中,由计算机运算后再保存到变量中,由此可见,变量在任何的应用程序开发中都是非常基础也是非常重要的。同样,在C#中也需要变量对数据进行存储,本节将会介绍C#的基本语法、数据类型、变量、枚举等。2.2.1定义要声明一个变量就需要为这个变量找到一个数据类型,在C#中,数据类型由.NETFramework和C#语言来决定,表2-1列举了一些预定义的数据类型。表2-1预定义数据类型预定义类型定义字节数byte0~255之间的整数1sbyte-128~127之间的整数1short-32768~32767之间的整数2ushort0~65535之间的整数2int-2147483648~2147483647之间的整数4uint0~4294967259之间的整数4long-9223372036854775808~9223372036854775807之间的整数8ulong0~18445744073709551615之间的整数8bool布尔值,trueoffalse1float单精度浮点值4double双精度浮点值8decimal精确的十进制值,有28个有效单位12object其他所有类型的基类N/Achar0~65535之间的单个Unicode字符2string任意长度的Unicode字符序列N/A24一个简单的声明变量的代码如下所示:ints;//声明整型变量floatmyfloat;//声明浮点型变量上述代码声明了一个整型的变量s,同时也声明了一个单精度浮点型变量myfloat。2.2.2值类型这种类型的对象总是直接通过其值使用,不需要对它进行引用。基于值类型的变量直接包含值。并且,所有的C#局部变量都需要初始化后才可以使用,值类型同样如此,初始化代码如下所示。ints;//声明整型变量s=newint();//声明整型变量s=3;//初始化变量上式等同于如下代码。ints;//声明整型变量s=3;//初始化变量所有的值类型均隐式的派生自System.ValueType,并且值类型不能派生出新的类。值的类型不能为null,但是可空类型允许将null值赋给值类型,在上面的代码中,程序通过默认的构造函数给为变量s初始化并赋值。2.2.3引用类型引用类型的变量又称为对象,是可存储对实际数据的引用。常见的引用类型有class、interface、delegate、object和string。多个引用变量可以附加于一个对象,而且某些引用可以不附加于任何对象,如果声明了一个引用类型的变量却不给他赋给任何对象,那么它的默认值就是null。相比之下,值类型的值不能为null。2.3变量规则声明变量并不是随意声明的,变量的声明有自己的规则。在C#中,应用程序包含许多关键字,包括int等是不能够声明为变量名的,如intint是不允许的,在进行变量的声明和定义时,需要注意变量名称是否与现有的关键字重名。2.3.1命名规则和命名习惯命名规则就是给变量取名的一种规则,一般来说,命名规则就是为了让开发人员给变量或者命名空间取个好名,不仅要好记,还要说明一些特性。在C#里面,有常用的一些命名的习惯如下。Pascal大小写形式:所有单词的第一个字母大写,其他字母小写。Camel大小写形式:除了第一个单词,所有单词的第一个字母大写,其他字母小写。当然,在其他编程中,不同的开发人员可能遇到了一些不一样的命名规则和命名习惯,但是在C#中,推荐使用常用的一些命名习惯,这样能保证代码的优雅性和可读性。同时,也应该避免使用相同名称的命名空间或与系统命名相同的变量,如以下代码所示:stringint;//系统会提示出错25运行上述代码时系统会提示错误,因为字符串“int”是一个关键字,当使用关键字做变量名时,编译器会混淆该变量是变量还是关键字,所以系统会提示错误。所以,在变量声明时应该避免变量名称
本文标题:第2章.C# 3.0程序设计基础(ASP.NET 3.5开发大全 共29章)
链接地址:https://www.777doc.com/doc-5354753 .html