欢迎来到天天文库
浏览记录
ID:45446553
大小:278.84 KB
页数:18页
时间:2019-11-13
《《C#高级程序设计》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章C#高级程序设计教学目标上一章介绍了C#的简单数据类型和基本流程控制,本章将继续介绍C#的语法和高级编程技术,包括复杂变量类型:枚举、结构和数组,函数、变量的作用域、函数重载、使用unsafe代码以及类型操作符合sizeof操作符。本章的示例将继续使用控制台应用程序。通过本章的学习,读者应重点掌握C#中的数组、结构的声明与使用,学会自定义函数以及函数重载教学重点枚举、结构和数组函数调用变量的作用域函数重载使用unsafe代码类型操作符和sizeof操作符复杂的变量类型枚举结构数组枚举枚举类型是一个有命名的常数的独特类
2、型。枚举声明需要使用enum关键字,还包括一个名称定义,访问能力,基本类型和枚举的成员每个枚举类型都有一个相应的整数类型,称为枚举类型的基本类型。这个基本类型可以表示任何在列举中定义的计数器值。一个枚举声明可以显式地声明为byte,sbyte,short,ushort,int,uint,long或ulong中的任意一个类型每个枚举成员都有相应的常数数值,数据的类型是所在枚举地基本类型。在默认情况下,每个值都会根据定义的顺序(从0开始),自动赋给对应的基本类型值。结构结构(struct,structure的简写)是由几个数据
3、组成的数据结构使用结构,程序员可以定义自己的变量类型。可以访问结构中单独的字段或者把结构当作一个整体来处理。在C#中,结构和类非常相似,但结构的一些特殊特性和使用上的限制,使得结构又不同于类。结构使用struct关键字来定义,也可以在struct关键字前面加上任意的访问控制关键字。结构是值类型的对象,C#按照和其它值类型变量一样的方式来处理结构,当把结构作为参数传递给函数时,程序会在堆栈上创建该结构的完整拷贝有时,需要把结构传递给函数,并且想在函数调用时对结构的值进行修改,一种方法是把结构作为函数的返回值,可是这种方法效率
4、还是不高。引用类型的变量择没有这些问题,对于引用型变量,程序处理的只是一个引用值,即引用对象的地址。数组数组是一个包含了一些通过计算出来的标号来访问的变量的数据结构数组的声明方式如下:[];数组元素用如下形式的元素访问表达式访问:A[I1,I2,...,IN];数组foreach循环foreach(in){//canuseforeachelement}多维数组就是秩大于1的数组。多维数字的声明只需要多个逗号即可多维数组可以称为矩形数组
5、,除了矩形数组以外,在C#中也可以使用变长数组,其中数组的每行都有不同的元素个数。为此,数组的每个元素都是另一个子数组,其子数组也可以在嵌套其它子数组。这些数组都必须具有相同的基本类型。我们称这样的数组为交错数组(Jaggedarray),也称为数组的数组。交错数组的声明不像多维数组那样用逗号来隔开不同的维,而是用分离的[]表示不同的维函数在C#中,函数是一种方法,可以提供在应用程序中的任何一处执行的代码块函数还可以提高代码的可读性,因为可以使用函数把相关的代码组合在一起。这样,代码的内部工作部分被分散了,从而使应用程序的
6、主体非常简短函数的参数和返回值共同定义了函数的签名通过函数进行数据交换的最简单方式是利用返回值。有返回值的函数会计算这个值,其方式与在表达式中使用变量计算它们包含的值完全相同函数当函数接受参数时,必须在声明的时候指定接受的参数列表,以及这些参数的类型:static(,...){...return;}其中可以有任意多个参数,每个参数都有一个类型和一个名称。参数用逗号分隔开,每个参数都可以在函数的代码中当作
7、一个变量使用。函数的参数参数匹配在调用函数时,必须使参数与函数定义中指定的参数完全匹配,包括参数的类型、个数和顺序都要匹配参数数组参数数组可以简化代码,因为不必从调用代码中传递数组,而是传递可在函数中使用的一个数组中相同类型的几个参数引用参数和值参数C#对值类型和引用类型的数据都采用传值的方式进行函数调用如果希望在函数中对参数所作的修改反映到原始参数上,则必须传引用。C#使用ref关键字将值类型的参数作为引用传递给函数输出参数使用out关键字,指定所给的参数为输出参数Main函数Main函数可以使用以下4种签名:stati
8、cvoidMain()staticvoidMain(string[]args)staticintMain()staticintMain(string[]args)Main()的参数args是从应用程序的外部接受信息的方法,这些信息在运行期间指定,其形式是命令行参数变量的作用域变量的作用域包含定义它们的代
此文档下载收益归作者所有