ImageVerifierCode 换一换
格式:PPT , 页数:37 ,大小:470KB ,
资源ID:683638      下载积分:11 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

VIP下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/683638.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(数组和集合对象.ppt)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数组和集合对象.ppt

1、第六节第六节数组和集合对象目标数组的使用使用System.Array 对象理解集合对象的特点和优点使用System.ArrayList 对象使用哈希表对象数组 数组是一种包含若干变量的数据结构,这些变量都可以通过计算索引进行访问。数组中的数组的元素具有相同的类型。数组有一个“秩”。数组的秩又称为数组的维度。“秩”为1的数组称为一维数组。“秩”大于1的数组称为多维数组。维度大小确定的多维数组通常称为两维数组、三维数组等。声明数组 声明数组时,方括号()必须跟在类型后面,而不是标识符后面。在C#中,将方括号放在标识符后是不合法的语法。C#支持一维数组、多维数组(矩形数组)和数组的数组(交错的数组)

2、。一维数组:一维数组:intarrayname;多维数组:多维数组:int,arrayname;数组的数组(交错的):数组的数组(交错的):intarrayname;注意注意:声明数组并不实际创建它们。在声明数组并不实际创建它们。在C#中,数组是对象,必须进行实例化。中,数组是对象,必须进行实例化。数组示例 usingSystem;classTestArraypublicstaticvoidMain()/声明一个整型一维数组的引用,变且在堆中分配连续声明一个整型一维数组的引用,变且在堆中分配连续5个整型变量个整型变量的空间。的空间。intnumbers=newint5;/声明一个二维字符串数组

3、的引用声明一个二维字符串数组的引用string,names=newstring5,4;/数组的数组,相当声明了包含数组的数组,相当声明了包含5个个byte型一维数组的引用变量的一型一维数组的引用变量的一维数组长度为维数组长度为5bytescores=newbyte5;/为每个为每个btye型一维数组实例化型一维数组实例化for(inti=0;iscores.Length;i+)scoresi=newbytei+3;/非矩形的非矩形的for(inti=0;iscores.Length;i+)Console.WriteLine(Lengthofrow0is1,i,scoresi.Length);初

4、始化数组 C#通过将初始值括在大括号()内为在声明时初始化数组提供了简单而直接了当的方法。一维数组一维数组intnumbers=newint 51,2,3,4,5;stringnames=newstring 3Matt,Joanne,Robert;可省略数组的大小intnumbers=newint 1,2,3,4,5;stringnames=newstring Matt,Joanne,Robert;如果提供了初始值设定项,则还可以省略new运算符intnumbers=1,2,3,4,5;stringnames=Matt,Joanne,Robert;初始化数组 C#通过将初始值括在大括号()内为

5、在声明时初始化数组提供了简单而直接了当的方法。多维数组多维数组int,numbers=newint 3,21,2,3,4,5,6;string,siblings=newstring 2,2Mike,Amy,Mary,Albert;可省略数组的大小int,numbers=newint,1,2,3,4,5,6;string,siblings=newstring,Mike,Amy,Mary,Albert;如果提供了初始值设定项,则还可以省略new运算符int,numbers=1,2,3,4,5,6;string,siblings=Mike,Amy,Mary,Albert;初始化数组 C#通过将初始值

6、括在大括号()内为在声明时初始化数组提供了简单而直接了当的方法。交错的数组(数组的数组)交错的数组(数组的数组)intnumbers=newint 2newint2,3,4,newint5,6,7,8,9;可省略第一个数组的大小intnumbers=newintnewint2,3,4,newint5,6,7,8,9;或intnumbers=newint2,3,4,newint5,6,7,8,9;访问数组成员访问数组成员可以直接进行,类似于在C/C+中访问数组成员。下面的代码创建一个名为下面的代码创建一个名为numbers的数组,然后向该数组的第五个元素赋以的数组,然后向该数组的第五个元素赋以5

7、:intnumbers=10,9,8,7,6,5,4,3,2,1,0;numbers4=5;下面的代码声明一个多维数组,并向位于下面的代码声明一个多维数组,并向位于1,1的成员赋以的成员赋以5:int,numbers=1,2,3,4,5,6,7,8,9,10;numbers1,1=5;下面声明一个一维交错数组,它包含两个元素。第一个元素是两个整数的数组,下面声明一个一维交错数组,它包含两个元素。第一个元素是两个整数的数组,第二个元素是三个整数的数组:第二个元素是三个整数的数组:intnumbers=newintnewint1,2,newint3,4,5;下面的语句向第一个数组的第一个元素赋以下

8、面的语句向第一个数组的第一个元素赋以58,向第二个数组的第二个元素赋,向第二个数组的第二个元素赋以以667:numbers00=58;numbers11=667;对数组使用foreach C#还提供foreach语句。该语句提供一种简单、明了的方法来循环访问数组的元素。intnumbers=4,5,6,1,2,3,-2,-1,0;foreach(intiinnumbers)System.Console.WriteLine(i);对数组使用foreach C#还提供foreach语句。该语句提供一种简单、明了的方法来循环访问数组的元素。int,numbers=newint 3,29,99,3,3

9、3,5,55;foreach(intiinnumbers)Console.Write(0,i);System.Array类 在C#中,数组实际上是对象。System.Array是所有数组类型的抽象基类型。System.Array提供创建、操作、搜索和排序数组的方法,因而在公共语言运行库中用作所有数组的基类。所有数组都可以使用System.Array的属性和方法。常用属性和方法 Length属性属性 表示数组所有维数中元素的总数。intnumber=1,2,3,4;number.Length的值为4;Rank属性属性 表示数组中的维数。string,names=newstring5,4;name

10、s.Rank的值为2。常用属性和方法 Sort方法方法 对一维数组排序。它是它是Array类的静态方法类的静态方法.stringname=newstring xi,ang,zhang,chun;Array.Sort(name);foreach(stringsinname)Console.WriteLine(s);Reverse方法方法 反转一维数组Array.Reverse(name);其值为:其值为:chun,zhang,ang,xi 常用属性和方法 GetLowerBound与与GetUpperBound方法方法 数组指定维度的下限与上限int,number=newint 4,3,2 1,

11、2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13;for(inti=number.GetLowerBound(0);i=number.GetUpperBound(0);i+)for(intj=number.GetLowerBound(1);j=number.GetUpperBound(1);j+)for(intk=number.GetLowerBound(2);k=number.GetUpperBound(2);k+)Console.WriteLine(“number0,1,2=3”,i,j,k,numberi,j,k);Clear方法方

12、法 重新初始化数组中所有的元素将数组中的一系列元素设置为零、false或空引用.常用属性和方法 CreateInstance 方法创建数组创建数组 Array obj=Array.CreateInstance(typeof(string),10);static void Main(string args)/构建 objNames 数组 Array objNames=Array.CreateInstance(typeof(string),5);/初始化值 objNames.SetValue(“A,0);objNames.SetValue(“B,1);objNames.SetValue(“C,2)

13、;objNames.SetValue(“D,3);objNames.SetValue(“E,4);Console.WriteLine(“数组值);for(int ctr=0;ctr 5;ctr+)Console.WriteLine(“元素 0:1,ctr+1,objNames.GetValue(ctr);System.Collections 简介System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。哈希表(Hashtable)简述 Hashtable是System.Collections命名空间提供的一个容器用于处理和

14、表现类似key/value的键值对key通常可用 来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以 Hashtable可以支持任何类型的key/value键值对.哈希表的简单操作 在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value);在哈希表中去除某个key/value键值对:HashtableObject.Remove(key);从哈希表中移除所有元素:HashtableObject.Clear();判断哈希表是否包含特定键key:Hashtabl

15、eObject.Contains(key);using System;using System.Collections;/使用使用Hashtable时,必须引入这个命名空间时,必须引入这个命名空间class hashtablepublic static void Main()Hashtable ht=new Hashtable();/创建一个创建一个Hashtable实例实例ht.Add(“E”,“e”);/添加添加key/value键值对键值对ht.Add(“A”,“a”);ht.Add(“C”,“c”);ht.Add(“B”,“b”);string s=(string)ht“A”;if(h

16、t.Contains(“E”)/判断哈希表是否包含特定键判断哈希表是否包含特定键,其返回值为其返回值为true或或falseConsole.WriteLine(“the E key:exist”);ht.Remove(“C”);/移除一个移除一个key/value键值对键值对Console.WriteLine(ht“A”);/此处输出此处输出aht.Clear();/移除所有元素移除所有元素Console.WriteLine(htA);/此处将不会有任何输出此处将不会有任何输出 遍历哈希表 遍历哈希表需要用到DictionaryEntry Object:for(DictionaryEntry

17、de in ht)/ht为一个Hashtable实例Console.WriteLine(de.Key);/de.Key对应于key/value键值对keyConsole.WriteLine(de.Value);/de.Key对应于key/value键值对value 对哈希表进行排序 对哈希表进行排序在这里的定义是对key/value键值对中的key按一定规则重新排列但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable进行对key进行重新排列如果需要Hashtable提供某种规则的输出,可以采用一种变通的做法:ArrayList akeys=new ArrayList(ht.Ke

18、ys);/别忘了导入System.Collectionsakeys.Sort();/按字母顺序进行排序for(string skey in akeys)Console.Write(skey+:);Console.WriteLine(htskey);/排序后输出ArrayList 类Array 类的容量或元素数是固定的,而 ArrayList 类的容量可以根据需要动态扩展。通过设置ArrayList.Capacity 的值可以重新分配内存和复制元素使用 ArrayList 提供的方法可以同时添加、插入或移除一个范围内的元素优点优点支持自动改变大小的功能可以灵活的插入元素可以灵活的删除元素局限性局

19、限性跟一般的数组比起来,速度上差些 添加元素 将对象添加到将对象添加到ArrayList的结尾处的结尾处ArrayList aList=new ArrayList();aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);内容为:abcde 添加元素 将元素插入将元素插入ArrayList的指定索引处的指定索引处ArrayList aList=new ArrayList();aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);aList.In

20、sert(0,aa);结果为:aaabcde 添加元素 将集合中的某个元素插入将集合中的某个元素插入ArrayList的指定索引处的指定索引处ArrayList aList=new ArrayList();aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);ArrayList list2=new ArrayList();list2.Add(tt);list2.Add(ttt);aList.InsertRange(2,list2);结果为:abtttttcde 删除 从从ArrayList中移除特定对象的第一个匹配项中

21、移除特定对象的第一个匹配项,注意是第一个注意是第一个ArrayList aList=new ArrayList();aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);aList.Remove(a);结果为:bcde删除 移除移除ArrayList的指定索引处的元素的指定索引处的元素aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);aList.RemoveAt(0);结果为:bcde 删除 从从ArrayList中移除一定范围的元素。中移

22、除一定范围的元素。Index表示索引,表示索引,count表示从索引处开始的数目表示从索引处开始的数目aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);aList.RemoveRange(1,3);结果为:ae 删除 从从ArrayList中移除一定范围的元素。中移除一定范围的元素。Index表示索引,表示索引,count表示从索引处开始的数目表示从索引处开始的数目aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);aList.Remov

23、eRange(1,3);结果为:ae 从从ArrayList中移除所有元素中移除所有元素aList.Clear();排序 对对ArrayList或它的一部分中的元素进行排序。或它的一部分中的元素进行排序。ArrayList aList=new ArrayList();aList.Add(e);aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);DropDownList1.DataSource=aList;/DropDownList DropDownList1;DropDownList1.DataBind();结果为:eabcd aList.S

24、ort();/排序DropDownList2.DataSource=aList;/DropDownList DropDownList2;DropDownList2.DataBind();结果为:abcde反转将将ArrayList或它的一部分中元素的顺序反转。或它的一部分中元素的顺序反转。ArrayList aList=new ArrayList();aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);aList.Reverse();/反转DropDownList1.DataSource=aList;/DropDow

25、nList DropDownList1;DropDownList1.DataBind();结果为:edcba 查找 返回返回ArrayList或它的一部分中某个值的第一个匹配项的或它的一部分中某个值的第一个匹配项的从从零开始零开始的索引。没找到返回的索引。没找到返回-1。ArrayList aList=new ArrayList();aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);intnIndex=aList.IndexOf(“a”);/0nIndex=aList.IndexOf(“p”);/没找到,-1 查找

26、 返回返回ArrayList或它的一部分中某个值的最后一个匹配项的或它的一部分中某个值的最后一个匹配项的从零开始的索引。从零开始的索引。ArrayList aList=new ArrayList();aList.Add(a);aList.Add(b);aList.Add(a);/同0aList.Add(d);aList.Add(e);intnIndex=aList.LastIndexOf(a);/值为2而不是0 获取ArrayList中实际包含的元素数Capacity是ArrayList可以存储的元素数。Count是ArrayList中实际包含的元素数。Capacity总是大于或等于Count

27、。如果在添加元素时,Count超过Capacity,则该列表的容量会通过自动重新分配内部数组加倍。如果Capacity的值显式设置,则内部数组也需要重新分配以容纳指定的容量。如果Capacity被显式设置为0,则公共语言运行库将其设置为默认容量。默认容量为16。在调用Clear后,Count为0,而此时Capacity切是默认容量16,而不是0 将容量设置为ArrayList中元素的实际数量如果不向列表中添加新元素,则此方法可用于最小化列表的内存系统开销。若要完全清除列表中的所有元素,请在调用TrimToSize之前调用Clear方法。截去空ArrayList会将ArrayList的容量设置为

28、默认容量,而不是零。ArrayList aList=new ArrayList();aList.Add(a);aList.Add(b);aList.Add(c);aList.Add(d);aList.Add(e);/Count=5,Capacity=16;aList.TrimToSize();/Count=Capacity=5;总结多数编程语言都提供数组这种数据结构,用以存储属于相同类型的多个数据元素可以使用 Array 类的 CreateInstance 方法来创建Array对象,也可以直接定义数组对象集合可用于管理在运行时动态创建的元素项 System.Collections 命名空间提供一组接口和类,让用户可以对一组数据元素执行各种集合操作用户可以通过 HashTable 类将数据、键值作为一组来存储,这些数据是根据键值进行组织的Array 类属于 System 命名空间,而 ArrayList 类属于 System.Collections 命名空间ArrayList在Array的基础上提供了动态的特性练习员工管理系统和学生管理系统用ArrayList实现

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服