《CSharp091使用枚举和结构来创建值类型.pptx》由会员分享,可在线阅读,更多相关《CSharp091使用枚举和结构来创建值类型.pptx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、天津农学院计算机系陈长喜C#.NET 程序设计Visual c#2010从入门到精通 The C#Programming Language第10章 使用数组和集合声明、初始化、复制和使用数组变量声明、初始化、复制和使用各种集合类型的变量 The C#Programming Language 数组的概念数组是一个无序的元素序列数组中的所有元素具有相同的类型(这与类、结构不同)一个数组中的元素存储在一个连续性的内存块中,并可使用一个整数索引来访问 The C#Programming Language声明数组类型 变量名Int pins;这不像C+声明时需大小也不像Java方括号放在变量名后一般为数
2、组起一个复数名词数组是引用类型 The C#Programming Language创建数组实例new 元素类型 大小例:pins=new int4;大小不一定是常量,它可在运行时计算如:int size=int.Parse(Console.Readline();int pins=new intsize;The C#Programming Language初始化数组创建一个数组实例时,数组实例的所有元素都被初始化为一个默认值(0,false,null)要修改默认值,需要在一对大括号中提供一个逗号分隔的值列表。例:int pins=new int49,2,3,7;The C#Programmin
3、g Language初始化数组大括号中的值不一定是常量,它们可以是在运行时计算的值。例:Random r=new Random();int pins=new int4 r.Next()%10,r.Next()%10,r.Next()%10,r.Next()%10 The C#Programming Language初始化数组大括号中的值的数量必须和创建的数组实例的大小完全匹配Int pins=new int39,3,7,2/ErrorInt pins=new int49,3,7/ErrorInt pins=new int4 9,3,7,2/correct The C#Programming L
4、anguage初始化数组初始化数组时,实际上可省略new表达式和数组大小。例int pins=9,3,7,2Time times=new Time(12,30),new Time(5,32)The C#Programming Language创建隐式数组声明数组时,元素类型必须与声明的类型相一致,如int数组不能初始化double,string等类型可否让编译器自动判断类型var names=new “My”,”Task”,”Xyz”The C#Programming Language访问单独的数组元素用下标索引来访问int mypins;myPin=pins2 The C#Programmi
5、ng Language遍历数组for(int i=0;i*.Length;i+)foreach(类型 变量 in 数组名)例:foreach(int pint in pins)Console.WriteLine(pin)The C#Programming Language遍历数组foreach总是遍历整个数组,不可是数组中的一部分;foreach总是从0Length-1,不可倒序foreach不可修改数组的元素,只能遍历 The C#Programming Language复制数组数组是引用类型,数组变量包含是对一个数组实例的引用,复制了一个数组变量后,将获得对同一个数组实例的两个引用。int
6、 pins=9,3,7,2int alias=pins;/alias与pins引用同一个数组实例 The C#Programming Language复制数组用for循环逐个复制(自己复制)int pins=9,3,7,2;int copy=new intpins.Length;for(int i=0;icopy.Length;i+)copyi=pinsi;The C#Programming Language复制数组调用类库System.Array类提供了CopyTo方法int pins=9,3,7,2;int copy=new intpins.Length;pins.CopyTo(copy,
7、0);The C#Programming Language复制数组调用类库System.Array类提供的静态Copy方法int pins=9,3,7,2;int copy=new intpins.Length;Array.Copy(pins,copy,copy.Length);The C#Programming Language复制数组调用类库System.Array类提供的Clone方法int pins=9,3,7,2;int copy=(int)pins.Clone();/Clone返回的类型为Object The C#Programming Language多维数组类型,()数组名=n
8、ew 类型,()int,items=new int4,6;The C#Programming Language多维数组访问时下标索引用逗号分隔items2,3=99;items2,4=items2,3;Items2,4+;The C#Programming Language使用数组发牌CardGame The C#Programming Language总结声明:类型 变量名创建数组实例:new 元素类型 大小默认值为0,false,null或修改默认值时在一对大括号中提供一个逗号分隔的值列表访问数组元素用下标 The C#Programming Language总结创建隐式数组var 名字=new “值1”,”值2”,”值3”.遍历数组foreach多维数组:类型,()数组名=new 类型,()The C#Programming Language总结数组为引用类型,单复制为引用复制数组复制用for循环逐个复制System.Array类提供了CopyTo方法System.Array类提供的静态Copy方法