A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁晓俊 高级黑马   /  2014-4-15 21:25  /  1665 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 袁晓俊 于 2014-4-25 12:40 编辑

如何在C#中创建和使用动态数组?求例子,

2 个回复

倒序浏览
C#动态数组对象是较为复杂的数组。我们可以将它看为扩充了功能的数组,但ArrayList并不等同于数组,与数组相比,它以下功能和区别是什么呢?让我们来看看具体的内容吧:
1.数组的容量是固定的,但ArrayList的容量可以根据需要自动扩充。当我们修改了ArrayList的容量时,则可以自动进行内存重新分配和元素复制,比如往1号索引位插入n个元素,插入后,元素的索引依次向后n个位置排列,它是动态版本的数组类型。
2.ArrayList提供添加、插入或移除某一范围元素的方法。但是在数组中,只能一次获取或设置一个元素的值,如利用索引赋值。
3.ArrayList只有一维,而数组可以是多维。

如何声明一个C#动态数组呢?
ArrayList AL=new ArrayList( Capacity );
//初始容量capacity也是可以不写的
原因就是即使不在初识化确定容量,容量不够的时候,会自动的按倍数作扩充。
C#动态数组的常用属性
Capacity
获取或设置ArrayList可包含的元素数。
Count
获取ArrayList中实际包含的元素数。
IsReadOnly
获取一个值,该值表示ArrayList是否为只读。
Item
获取或设置指定索引处的元素。
C#动态数组的常用方法
增加元素-ArrayList.Add(value);利用Add方法增加集合元素值
我们也可以索引增加元素ArrayList[Index]=value;
插入元素-ArrayList.Insert(Index,value);将元素的值value,插入到第Index位置。
删除元素-ArrayList.Clear(); 全部删除集合中的元素
ArrayList.Remove(value);按照集合元素值删除元素
ArrayList.RemoveAt(Index);按照集合的元素索引删除元素
缩减容量-ArrayList.TrimToSize();将集合的容量减少到实际元素个数的大小
在执行删除操作后,要养成良好的缩减容量的习惯,节省内存空间,提高性能。
查找元素-除了按数组的索引查找外,还可以用ArrayList.Contains(value);按照元素值查找集合,如果包含便返回True,不包含时返回False。

ArrayList AL = new ArrayList();
AL.Add("Hello");
AL.Add("HeiMa");
foreach(object obj in AL)
{
Console.WriteLine(obj);
}
Console.WriteLine("个数:"+AL.Count);

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
感谢,,,,,,,,,,,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马