第二章 C#编程基础.ppt
第第2章章 C#编程基础编程基础 教学提示:教学提示:C#源自源自C与与C+,它依靠,它依靠.NET结构,其执行是全新的;学习结构,其执行是全新的;学习ASP.NET掌握掌握C#基础是必不可少的。基础是必不可少的。本章的重点就是了解本章的重点就是了解C#程序语言的运行程序语言的运行特点与掌握特点与掌握C#的编程方法的编程方法2.1 C编程语言特点n微软公司对微软公司对C#的定义是:的定义是:“C#是一种类型安是一种类型安全的、现代的、简单的,由全的、现代的、简单的,由C和和C+衍生出来衍生出来的面向对象的面向对象”的编程语言。的编程语言。nC#支持快速程序开发支持快速程序开发(Rapid Application Development)功能,使开发效率成倍增加,功能,使开发效率成倍增加,从而从繁锁、重复的劳动中解放出来。从而从繁锁、重复的劳动中解放出来。nC#具有面向对象编程语言所具有的一切特性,具有面向对象编程语言所具有的一切特性,如封装、继承、多态等特点。如封装、继承、多态等特点。2.1.1 第一个C#程序点击点击“开始开始”-“程序程序”-“Microsoft Visual Studio 2005”,双击菜单中双击菜单中Microsoft Visual 2005图标,进入图标,进入Visual 2005的操作界面,首先新建一个项的操作界面,首先新建一个项目,如下图所示:目,如下图所示:2.1.1 第一个C#程序Visual 20052.1.1 第一个C#程序Visual 20052.2 第一个C#程序n输入以下代码:nusing System;nusing System.Collections.Generic;nusing System.Text;nnamespace ConsoleApplication1nn class Programn n static void Main(string args)n nConsole.WriteLine(My first C#);n Console.Read();n n n2.2 第一个C#程序n插入上述语句后,按插入上述语句后,按F5(启动调试)(启动调试),经系统即可看到屏幕在,经系统即可看到屏幕在DOS状态状态下显示下显示“My 编译后,屏幕显示编译后,屏幕显示 My first C#n就此完成了第一个就此完成了第一个C#程序的编制与程序的编制与运行。运行。2.3 C#基本知识n2.3.1 命名空间命名空间命名空间就好比在文件系统中一个文件夹容纳命名空间就好比在文件系统中一个文件夹容纳多个文件一样,所以命名空间可以被看作某些多个文件一样,所以命名空间可以被看作某些类的一个容器。因为类的一个容器。因为.NET有很多类,所以命有很多类,所以命名空间也是必要的。通过把不同的类放入不同名空间也是必要的。通过把不同的类放入不同的命名空间可以把相关的类组织起来,并且可的命名空间可以把相关的类组织起来,并且可以避免命名冲突。以避免命名冲突。n命名空间声明包含关键字命名空间声明包含关键字namespace后面接后面接空间名与主体。空间名与主体。2.3 2 类和Main函数n“Main”为程序的起点。为程序的起点。“Main”前面是个前面是个名为名为“static”的修饰符。的修饰符。“static”修饰修饰符表明该方法仅仅在该特定的类中工作,而符表明该方法仅仅在该特定的类中工作,而不是在在该类的实例中工作。这是必需的,不是在在该类的实例中工作。这是必需的,因为一旦程序启动后,并不存在对象的实例。因为一旦程序启动后,并不存在对象的实例。每个方法必须有个返回值类型。本例中,返每个方法必须有个返回值类型。本例中,返回值类型是回值类型是“void”,它表明,它表明“Main”函数函数没有返回值。每个方法名的后面思考可以跟没有返回值。每个方法名的后面思考可以跟参数表,参数表包含的参数并用括号括起来,参数表,参数表包含的参数并用括号括起来,在此程序中在此程序中“Main”没有参数。没有参数。2.3 2 类和Main函数nclass Program 句是使用一个类,它可以包含句是使用一个类,它可以包含了程序所要用到的数据,和所要执行的方法的了程序所要用到的数据,和所要执行的方法的定义。类在程序中是用来描述对象的,本例中定义。类在程序中是用来描述对象的,本例中的类不包含数据,只包含一个方法。的类不包含数据,只包含一个方法。n“Console”是是“System”名称空间中的类。名称空间中的类。“WriteLine(.)”是是“Console”类中的方类中的方法,在使用法,在使用“.”这个句点操作符来标记程序中这个句点操作符来标记程序中的从属元素。本语句的作用是在控制台上显示的从属元素。本语句的作用是在控制台上显示“My first C#”2.3.3 基本数据类型nC支持两种基本的类型:一种是值支持两种基本的类型:一种是值(value types),另一种是引用,另一种是引用(reference types)。值包括简单。值包括简单类型类型(char、int和和float)、枚举、枚举(enum)和结构和结构(struct)、引用包括类、引用包括类(class)、界面、界面(interface)、代表代表(delegate)和数组和数组(array)。n值与引用不同之处在于:值直接存储它的数据内容,值与引用不同之处在于:值直接存储它的数据内容,而引用存储对象的引用。值和引用的区别可以引出而引用存储对象的引用。值和引用的区别可以引出一个重要特性。值的变量和变量存储的数据是一个重要特性。值的变量和变量存储的数据是一一对应的,是唯一的。而引用则不然,引用中不同的对应的,是唯一的。而引用则不然,引用中不同的变量可以引用同一个对象的实例。变量可以引用同一个对象的实例。2.3.3 基本数据类型n在变量命名时必须遵循以下规则:在变量命名时必须遵循以下规则:n1.变量名只能由字母、数字与下划线组成。变量名只能由字母、数字与下划线组成。n2.变量名第一个字符必须以字母开始。变量名第一个字符必须以字母开始。n3.变量名不能包括空格、标点符号与运算符等。变量名不能包括空格、标点符号与运算符等。n4.变量名不能与变量名不能与C#程序中所使用的关键字相同。程序中所使用的关键字相同。n5.变量名不能与变量名不能与C#程序中所使用库函数名相同。程序中所使用库函数名相同。n如如:不可使用不可使用string using,因为因为using是关键字是关键字。2.3.3 基本数据类型n1.整数型整数型n有有Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong。n表2-1 整数类型列表n2.实数型实数型n有有float、double、decimal 等等 n详见 表2-2 实数类型列表2.3.3 基本数据类型n3.字符型字符型nchar 一个字符一个字符nString 多个字符多个字符n以上三种类型是常用的,还有如下的以上三种类型是常用的,还有如下的类型:类型:n布尔型、常量、结构类型、枚举类型布尔型、常量、结构类型、枚举类型n数组类型数组类型 等等n详见书第详见书第28至至30页页2.3.3 基本数据类型nstring类型类型nstring是是C#中的特殊类型之一,专门用于对中的特殊类型之一,专门用于对字符串的操作,例如:字符串的操作,例如:nstring a1=Shanghai;n也能够使用也能够使用+号合并两个字符串,例如:号合并两个字符串,例如:nstring a2=Welcome+to Shanghai;n两个字符串的比较可以使用两个字符串的比较可以使用=比较操作符,比较操作符,例如:例如:n bool a=(s1=s2);2.3.3 基本数据类型n4.布尔型布尔型nbool是用于表示是用于表示“真真”与与“假假”的。在的。在C#中,中,布尔型变量只有布尔型变量只有true与与false二种,能够将二种,能够将true或或false赋值给一个布尔型变量,也可以将一个逻辑赋值给一个布尔型变量,也可以将一个逻辑表达式赋给一个布尔型变量。表达式赋给一个布尔型变量。n例如:nbool a=(100110);nbool a=1;是错误的,只能写成 nbool a=true;2.3.3 基本数据类型n5.常量常量n与变量相反,常量的值上固定不变的,在程序与变量相反,常量的值上固定不变的,在程序的执行期间,常量的值是不会发生变化。可以的执行期间,常量的值是不会发生变化。可以在代码的任何位置使用常量来代替实际值,如在代码的任何位置使用常量来代替实际值,如定义一个常量定义一个常量Pi的值为的值为3.14159265的语句可的语句可以这样编写:以这样编写:npublic const double Pi=3.141592652.3.3 基本数据类型n6.结构类型结构类型n结构类型结构类型(struct)是一种复合数据类型,用于是一种复合数据类型,用于将某些相关的数据组织到一个新的数据类型中。将某些相关的数据组织到一个新的数据类型中。C#中,结构类型可以包含构造函数、析构函中,结构类型可以包含构造函数、析构函数、方法、属性、索引、操作符和嵌套类型等,数、方法、属性、索引、操作符和嵌套类型等,结构类型与类是不同的,尽管看起来似乎很相结构类型与类是不同的,尽管看起来似乎很相同,但结构是一个值的类型,而类是一个引用同,但结构是一个值的类型,而类是一个引用类型,结构类型不支持继承。类型,结构类型不支持继承。2.3.3 基本数据类型n结构类型举例结构类型举例:n using System;n/结构类型结构类型Employeenstruct Student n public string Name;/学生姓名学生姓名n public uint Age;/年龄年龄n public string Phone;/联系电话联系电话n public string Address;/通讯地址通讯地址n2.3.3 基本数据类型nclass Testnn public static void Main()n n Student e;/声明结构类型Student的变量en e.Name=朱月妹;n e.Age=21;n e.Phone=021-50214150;n e.Address=上海市金海路2236号;n Console.WriteLine(学生姓名=0,年龄=1,电话=2,通讯地址=3,n e.Name,e.Age,e.Phone,e.Address);nConsole.Read();n n2.3.3 基本数据类型n枚举类型枚举类型nusing System;nenum WeekDay n Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturdayn;nclass Sample nn static void Main()n n WeekDay day;/声明声明WeekDay的变量的变量day;n day=WeekDay.Tuesday;n Console.WriteLine(day的值是的值是0,day);n n2.3.3 基本数据类型n数组类型数组类型n可以在定义时直接赋值,例如定义一维整数数组,初可以在定义时直接赋值,例如定义一维整数数组,初值是值是1、2、3、4、5:nint a2=new int 1,2,3,4,5;n也可以单单声明一个数组,如:也可以单单声明一个数组,如:nint a1=new int10;n表示定义一个包含表示定义一个包含10个元素的一维数组。个元素的一维数组。n也可以定义字符串数组,例如:也可以定义字符串数组,例如:nstring a3=“A”,”B”,”C”,”D”,”E”;n也可以定义二维、三维数组,例如:也可以定义二维、三维数组,例如:nint,a3=2,4,3,5;2.3.4 注释与转义符n单行注释标记是单行注释标记是“/”,表明从该注释符号的开,表明从该注释符号的开始处到该行结束处,都是注释部分。始处到该行结束处,都是注释部分。n如果要注释多行,可以以符号如果要注释多行,可以以符号“/*”开始,以符开始,以符号号“*/”“结束,其中所包含的全部是注释。也可结束,其中所包含的全部是注释。也可以在多行注释符号中包含单行注释。以在多行注释符号中包含单行注释。n但是,不能在单行注释符号后面放上多行注释符但是,不能在单行注释符号后面放上多行注释符号。程序编译时,将忽略掉注释部分。号。程序编译时,将忽略掉注释部分。2.3.5 操作符优先级n操作符的优先级控制表达式运算的顺序。例如,表操作符的优先级控制表达式运算的顺序。例如,表达式达式“x+y*z”要按要按“x+(y*z)”顺序运算,因为顺序运算,因为*比比+有更高的优先级,下表列出了有更高的优先级,下表列出了C#的运算符,优的运算符,优先级和结合性先级和结合性 n表表2-4 C#的运算符,优先级和结合性列表的运算符,优先级和结合性列表n左结合即运算符是从左到右进行运算的。右结合是左结合即运算符是从左到右进行运算的。右结合是所有的运算是从右到左进行的,如赋值运算符,要所有的运算是从右到左进行的,如赋值运算符,要等到其右边的计算出来之后,才把结果放到左边的等到其右边的计算出来之后,才把结果放到左边的变量中。变量中。2.4 条件控制语句n无论何种程序语言,编写时最重要的就是要了解应用程序的控制结构,控制结构是通过控制语句来实观的,控制语句包括条件语句和循环语句。n1.C#主要有三种基本的条件语句:if语句、?条件和switch语句。2.4.1 条件控制语句nif 语句有3种:n(1)if(条件)n n 语句;n 2.1.4 条件控制语句n(2)if(条件)n n 语句;n n eslen n 语句;n 2.1.4 条件控制语句n(3)if(条件1)n n 语句1;n n elseif(条件2)n n 语句2n n elsen n 语句3;n 2.4.2 条件控制语句nC#中还可以使用?条件控制语句,可以使用程序中还可以使用?条件控制语句,可以使用程序更加精练更加精练n 条件?语句条件?语句1:语句:语句2n 等价于等价于n if(条件条件1)n 语句语句1;n elsen 语句语句2;2.4.3 switch语句n(3)switch语句nwitch()nncase 常量表达式 1:n 语句1;nbreak:ncase 常量表达式 2:n 语句3;nbreak:ndefault:n 语句 Nnbreak;n2.4.3 switch语句nswitch语句按以下顺序执行:语句按以下顺序执行:n控制表达式求值;如果控制表达式求值;如果case标签后的常标签后的常量表达式符合控制语句所求出的值,内量表达式符合控制语句所求出的值,内含语句被执行;如果没有常量表达式符含语句被执行;如果没有常量表达式符合控制语句,在合控制语句,在default标签内的内含语标签内的内含语句被执行;如果没有一个符合句被执行;如果没有一个符合case标签,标签,且没有且没有default标签,控制转向标签,控制转向switch语段结束。语段结束。2.5 循环控制语句nfor语句;nfor each语句;nwhile语句;ndo语句。2.1.4 条件控制语句n2.5.1 for语句语句n当预先知道一个内含语句要执行多少次时,当预先知道一个内含语句要执行多少次时,可以使用可以使用for语句。当条件为真时,常规语语句。当条件为真时,常规语法允许重复地执行相关语句。法允许重复地执行相关语句。n for语句格式如下:语句格式如下:n for(初始化;条件;循环初始化;条件;循环)n 语句语句2.5.1 条件控制语句npublic static void Main()nnint a,b;nfor(a=2;a101;a+)nnfor(b=2;b a/2)nConsole.Write(0,a);nnConsole.Read();2.5.2 for each语句nfor each是一个特殊形式的是一个特殊形式的for循环,在循环,在Vsual Basic语言中存在了很久的一个功语言中存在了很久的一个功能是通过使用能是通过使用For Each语句收集枚举,语句收集枚举,C#通过通过for each语句,并对每个元素执语句,并对每个元素执行内嵌语句。行内嵌语句。2.5.2 for each语句nforeach 语句为数组或对象集合中的每个语句为数组或对象集合中的每个元素重复一个嵌入语句组。元素重复一个嵌入语句组。foreach 语句语句用于循环访问集合以获取所需信息,但不用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知应用于更改集合内容以避免产生不可预知的副作用。该语句的形式如下:的副作用。该语句的形式如下:nforeach(type identifier in expression)2.5.2 for each语句n内含循环变量由类型和标识符声明,且表达式与收集相对应。内含循环变量由类型和标识符声明,且表达式与收集相对应。循环变量代表循环正在为之运行的收集元素。例:循环变量代表循环正在为之运行的收集元素。例:nusing System;nnamespace C3nnpublic class CommandLine2nnpublic static void Main(string args)nnConsole.WriteLine(Number of command line parameters=0,args.Length);2.5.2 for each语句nforeach(string s in args)nnConsole.WriteLine(s);nn n n2.5.2 for each语句n编译后,在DOS界面中输入c3 Mary Back John”回车,即显示出如图画面:2.5.3 while语句主要语句示例nstatic void Main()nnint s=0;nint a=1;nwhile(a=100)nns+=a;n a+;nConsole.WriteLine(1+2+3.至100之和是0,s);nConsole.Read();2.5.4 do语句ndo也是循环语句,它与也是循环语句,它与while语句十分相似,语句十分相似,不同的是经过最初的循环之后,条件才被验证。不同的是经过最初的循环之后,条件才被验证。ndonn 内含语句内含语句n n while(条件条件);2.5.4 do语句do语句保证内含语句至少被执行过一语句保证内含语句至少被执行过一次,而且只要条件求值等于真,它们次,而且只要条件求值等于真,它们将继续被执行。可以通过使用将继续被执行。可以通过使用break语句,迫使程序退出语句,迫使程序退出do循环。如果要循环。如果要跳过一次循环,可以使用跳过一次循环,可以使用continue语语句。句。2.6变量类型转换与字符串的处理n在编程在过程中,数据转换是经常会碰到在编程在过程中,数据转换是经常会碰到的,如输入的数据一般都是以文本方式存的,如输入的数据一般都是以文本方式存在的,如要将其进行算术运算,那么首先在的,如要将其进行算术运算,那么首先需将其转换为数值类型,而输出则都是字需将其转换为数值类型,而输出则都是字符型的,所以处理完成之后又要将其转换符型的,所以处理完成之后又要将其转换为字符串形式为字符串形式 2.6变量类型转换与字符串的处理n1.字符串转换为整数形式:字符串转换为整数形式:nstring a=12345;nint b=Convert.ToInt16(a);n如字符串如字符串a 中包含非数字或有小数点,中包含非数字或有小数点,则将报错。则将报错。2.6变量类型转换与字符串的处理n2.整数类型转换为不同字符串整数类型转换为不同字符串:nint a=12345;nstring b=a.ToString(n);nb 为为 12,345.00。nn后可以加数字,为小数点后所加的位数,后可以加数字,为小数点后所加的位数,如如n1 即小数点后加即小数点后加1位数字,如位数字,如n4 即即小数点后加小数点后加4位数字,如上例所示不加数位数字,如上例所示不加数字,则显示字,则显示2位小数。位小数。2.6变量类型转换与字符串的处理ToString(“”);的的“”中可以加中可以加入不同的字符,以显示不同入不同的字符,以显示不同的显示形式,如书上的显示形式,如书上40页所示。页所示。3.取字串长度:取字串长度:string a=SSPU;int b=a.length;b为字符串长度,此处为为字符串长度,此处为4。2.6变量类型转换与字符串的处理4.截取字串的一部分截取字串的一部分:n变量变量.Substring(参数参数1,参数参数2)参数参数1为为左起始位数,参数左起始位数,参数2为截取几位。为截取几位。nstring a=ABCDEFG;nstring b=a.Substring(2,3);nb 为为 CDE2.6变量类型转换与字符串的处理n字符串替换字符串替换nstring a=你们的成绩是你们共同努力的结你们的成绩是你们共同努力的结果果;nstring b=a.Replace(你你,他他);n将字符串将字符串a中的中的“你你”字替换为字替换为“他他”;nb为为他们的成绩是他们共同努力的结果他们的成绩是他们共同努力的结果。2.6变量类型转换与字符串的处理n6.在字串中指定位置开始插入指定字符:在字串中指定位置开始插入指定字符:nstring a=教育教学教育教学;nstring b=a.Insert(2,与与);n在字符串在字符串a 第二个字符后插入第二个字符后插入“与与”。nb为为教育与教学教育与教学。2.6变量类型转换与字符串的处理n与与6相反,从字符串指定位置开始删除指相反,从字符串指定位置开始删除指字符:字符:nstring a=教育与教学教育与教学;nstring b=a.Remove(2,与与);n在字符串在字符串a 第二个字符后删除第二个字符后删除“与与”。nb为为教育教学教育教学。2.6变量类型转换与字符串的处理n8.判断一个字符串中的第判断一个字符串中的第n个字符是否是个字符是否是大写:大写:nstring a=;nstring b=Char.IsUpper(a,5).ToString();n如果字符串如果字符串a中第三个字符是大写,中第三个字符是大写,b为为 True,否则为,否则为False。n此处此处b为为 False。2.6变量类型转换与字符串的处理n9.取日期时间方法取日期时间方法n日期时间有多种形式与表示方法,书上日期时间有多种形式与表示方法,书上第第41页例举了页例举了13种不同的取值以供不种不同的取值以供不同要求的使用。在编程过程中会经常使同要求的使用。在编程过程中会经常使用到,所以必须对其用法熟练掌握,更用到,所以必须对其用法熟练掌握,更多的内容可参考有关多的内容可参考有关C#的其他书籍。的其他书籍。2.7 面向对象编程n面向对象编程方法的主要思想之一就是将面向对象编程方法的主要思想之一就是将数据及处理这些数据的相应函数封装到一数据及处理这些数据的相应函数封装到一个类中(个类中(class),而使用类的变量则称为而使用类的变量则称为对象(对象(object)。在对象中,只有属于该)。在对象中,只有属于该对象的函数成员才可以存取该对象的数据对象的函数成员才可以存取该对象的数据成员,而其他函数不能影响其内容。成员,而其他函数不能影响其内容。n面向对象程序的可维护性好,易于修改;面向对象程序的可维护性好,易于修改;而且对象可以重复使用,编程效率高。而且对象可以重复使用,编程效率高。1.命名空间 n命名空间可以被看作某些类的一个容器。命名空间可以被看作某些类的一个容器。NET有很多类,所以命名空间也是必要的。通有很多类,所以命名空间也是必要的。通过把不同的类放入不同的命名空间可以把相关过把不同的类放入不同的命名空间可以把相关的类组织起来,并且可以避免命名冲突。命名的类组织起来,并且可以避免命名冲突。命名空间,如内容不同的相同名称的文件可以放在空间,如内容不同的相同名称的文件可以放在不同的文件夹中而不能放在一个文件件中一样。不同的文件夹中而不能放在一个文件件中一样。正如文件系统中文件夹可以包含文件夹一样,正如文件系统中文件夹可以包含文件夹一样,命名空间也可以包含命名空间。命名空间也可以包含命名空间。Visual Studio.NET生成项目卓越,自动将一个类放生成项目卓越,自动将一个类放入一个命名空间中。入一个命名空间中。2.类 n类是面向对象编程中的一个重要概念,也是类是面向对象编程中的一个重要概念,也是C中一个极其重要的结构。若没有了类,则连最简中一个极其重要的结构。若没有了类,则连最简单的单的C程序都不能编译。类是一种数据结构,程序都不能编译。类是一种数据结构,它包含数据成员(常量、域与事件)、函数成员它包含数据成员(常量、域与事件)、函数成员(方法、属性、索引、事件以及构造函数和析构(方法、属性、索引、事件以及构造函数和析构函数)函数)n类包含了类包含了Main方法,也包含了另外两个方法,它方法,也包含了另外两个方法,它们都具备事件所必需的信号。们都具备事件所必需的信号。n其中一个方法是静态的,而另一个是实例方法。其中一个方法是静态的,而另一个是实例方法。3.方法 n在大多数情况下,功能的主要部分在方法在大多数情况下,功能的主要部分在方法中得到实现。一般认为方法也就是函数,中得到实现。一般认为方法也就是函数,所以有些人也把方法称为函数。所以有些人也把方法称为函数。n因为方法要处理更改数值,将值传递给方因为方法要处理更改数值,将值传递给方法,并从方法获得返回值,所以将涉及到法,并从方法获得返回值,所以将涉及到由传递值和为调用者获取返回结果所引起由传递值和为调用者获取返回结果所引起的三方面的问题:即输入参数、的三方面的问题:即输入参数、引用参数引用参数与输出参数等。与输出参数等。4.类的属性 n类的命名属性可以有两二种方式来揭示,类的命名属性可以有两二种方式来揭示,可以通过域成员或者通过属性。通过域成可以通过域成员或者通过属性。通过域成员是作为具有公共访问性的成员变量而被员是作为具有公共访问性的成员变量而被实现的,通过属性并不直接回应存储位置,实现的,通过属性并不直接回应存储位置,只是通过存取标志(只是通过存取标志(accessorss)被访问。)被访问。n读出或写入属性的值时,存取标志限定了读出或写入属性的值时,存取标志限定了被实现的语句。用于读出属性的值的存取被实现的语句。用于读出属性的值的存取标志记为关键字标志记为关键字get,而要修改属性的值的,而要修改属性的值的读写符标志记为读写符标志记为set。2.8 C#编程实例 n了解了C#基本编程方法之后,熟练操作是必不可少的,书中例举了5个实例,可以将它作为上机练习题,以加深对C#基本编程方法的理解。n 本 章 小 结nC#源自源自C与与C+,它依靠,它依靠.NET结构,其执行是结构,其执行是全新的。全新的。C#具有面向对象编程语言所具有的一切具有面向对象编程语言所具有的一切特性,如封装、继承、多态等;特性,如封装、继承、多态等;C#的类型系统中的类型系统中每种类型都可以看成是一个对象。每种类型都可以看成是一个对象。n本书主要介绍的是以本书主要介绍的是以C#语言来实现语言来实现ASP.NET编编程,着重阐述了程,着重阐述了C#的基本语法,但这并不是的基本语法,但这并不是C#的全部,仅是以后在的全部,仅是以后在ASP.NET编程中将要使用到编程中将要使用到的语法部分,有关的语法部分,有关C#的使用详细使用方法可以查的使用详细使用方法可以查阅有关专门书籍。阅有关专门书籍。