在C#的集合操作过程中,我们一般常用的集合类为List集合,List集合是一种强类型的泛型集合,其实还有一个ArrayList集合类,ArrayList集合类则非泛型类的集合,并且ArrayList集合类不是强类型,任何类型的数据往ArrayList集合中新增都可以,所以在进行集合内部元素转换操作的时候要相当注意,ArrayList集合速度跟普通的数组比要慢。

要使用ArrayList集合,首先需要引入该集合的命名空间:using System.Collections。

为了证明ArrayList集合为非强类型,给出下列实例,往集合arrayList中新增Int类型、字符串类型以及自定义对象类型的变量都能成功写入集合中。

 ArrayList arrayList = new ArrayList();
arrayList.Add(1);
arrayList.Add("3");
arrayList.Add(new { Id = 1, Name = "张三" });

从上述的程序运行结果来看,程序运行一切正常,arrayList集合中包含3个元素,但3个元素的数据类型完全不同。因此如果能确定数据集合中的元素类型,建议避开使用ArrayList集合类进行存储数据,而是采用泛型类List集合进行存储数据更为高效妥当。

ArrayList集合类添加元素的方法为Add方法,Add方法的签名为:virtual int Add(object value)。从签名我们可以看出任何类型的数据都可往ArrayList 集合中新增,程序不会抛出异常错误。

备注:原文转载自博主个人站IT技术小趣屋,原文链接为C#中ArrayList集合类的使用_IT技术小趣屋

博主个人技术交流群:960640092,博主微信公众号如下:

【转载】 C#中ArrayList集合类的使用的更多相关文章

  1. 【转载】C#中ArrayList集合类使用Remove方法指定元素对象

    ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,任何数据类型的变量都可加入到同一个ArrayList集合中,在Array ...

  2. 【转载】C#中ArrayList集合类使用Add方法添加元素

    ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,任何数据类型的变量都可加入到同一个ArrayList集合中,因此使用Ar ...

  3. 【转载】C#中ArrayList集合类使用RemoveAt方法移除指定索引的元素

    ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,任何数据类型的变量都可加入到同一个ArrayList集合中,在Array ...

  4. 【转载】C#中ArrayList集合类和List集合类的比较

    List集合类和ArrayList集合类都是C#语言中用于存储集合数据的集合类,两者都可灵活的插入.删除以及访问元素等等.但List集合和ArrayList集合的差别还是挺大的,首先List集合类是泛 ...

  5. 【转载】C#中ArrayList使用RemoveRange移除一整段数据

    在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,如果需要移除ArrayList集合中指定索引位置开始的一整段元素对象,则可以使用ArrayList集合中的RemoveRange方法 ...

  6. 【转载】 C#中ArrayList使用ToArray方法转换为数组

    在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,可以使用ArrayList中的ToArray方法将ArrayList集合对象转换为数组,ToArray方法有2个重载形式,其一为vi ...

  7. 【转载】 C#中ArrayList使用GetRange方法获取某一段集合数据

    在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,可以使用GetRange方法来获取集合中指定索引位置开始的一整段集合数据组成一个新的集合,GetRange方法的签名为virtual ...

  8. java中ArrayList 、LinkList区别

    转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.L ...

  9. JUC集合之 JUC中的集合类

    Java集合包 在"Java 集合系列01之 总体框架"中,介绍java集合的架构.主体内容包括Collection集合和Map类:而Collection集合又可以划分为List( ...

随机推荐

  1. qr.h

    创建二维码 QRCodeCreate vc++

  2. PHP将图片转base64格式函数

    base64的好处是什么?今天在跟小伙伴讨论这个问题,要是全站用Php把图片转为base64行不行? 1. 提升性能: 网页上的每一个图片,都是需要消耗一个 http 请求下载而来的, 图片的下载始终 ...

  3. rf增加产品的例子

    Open Browser http://xxx.xxx.xxx.xxx:1000/portal/login/init.htm gcMaximize Browser Window sleep 2 #Ge ...

  4. js日志组件封装

    js日志组件~~ 1 function Logger(level) { if (!(this instanceof Logger)) { return new Logger(); } var ERRO ...

  5. UFUN函数 UF_UI UF_PART函数(UF_UI_select_with_class_dialog, UF_PART_export_with_options)

    /*主要演示 UF_PART_export_with_options 这个函数 */1 //设置class_dialog选择过滤 static int init_proc(UF_UI_selectio ...

  6. Bring JavaScript to your Java enterprise with Vert.x

    转自:https://opensource.com/article/18/4/benefits-javascript-vertx If you are a Java programmer, chanc ...

  7. pytest--命令行常用参数

    前戏 在python中,大家听到最多的单元测试框架就是unittest和pytest了,而pytest有很多的功能,甩unittest几条街 我们在使用pytest时,要遵循pytest的命名规则: ...

  8. ES6-Generator使用与改写

    用Generator封装Symbol中的iterator方法: 注意:Generator的function后必须写* config:分别有3个txt文件,两个文件写路径,一个文件写要输出的内容 前置写 ...

  9. C# byte数组与16进制间的相互转换

      1.byte数组转16进制字符串 /// <summary> /// 将一个byte数组转换成16进制字符串 /// </summary> /// <param na ...

  10. suse12.2构建samba

    1:添加用户 useradd wangjunhui -d /home/wangjunhuipasswd wangjunhui 2:配置samba smbpasswd -a wangjunhui vi ...