在C#里把ArrayList转换为Array 或 把Array转换为ArrayList
来源:互联网 发布:安知玉如意全文阅读 编辑:程序博客网 时间:2024/05/19 07:28
原文地址: http://www.dotnetspider.com/kb/Article1709.aspx
06 日Dec, 2005 年 作者: Aldwin Enriquez
Narrasoft 菲律宾公司。
概述
这篇文章解释如何使用最简单的方法把Array转换成ArrayList和相反的转换。
使用的.NET类
System.Collections.ArrayList
介绍
操作数组是应用开发中最普通的任务之一。有时你需要使用一组对象来获得操作对象的属性的能力,并且有时你为了更大的灵活性而使用ArrayList。在这两种方式之间进行抉择是非常痛苦的事情。这篇文章教你如何更好的去解决这个问题。
笨方法
几乎所有的初学者都是手工进行的变换。就从转换对象数组到ArrayList来说,一种方法可能是先初始化一个ArrayList对象,然后再循环把数组里的每一个对象添加到ArrayList中。
让我们假设我们有一个称做Person的对象。下面是通常的做法:
2ArrayList personList = new ArrayList();
3foreach(Person objPerson in personArray)
4{
5 personList.Add(objPerson);
6}
并且也可以使用这种方式从一个ArrayLIst创建一个对象数组:
2int arrayCounter = 0;
3foreach(Person objPerson in personList)
4{
5 personArrayFromList.SetValue(objPerson,arrayCounter++);
6}
简单的方法
但是我们为什么不使用.NET类库内置的方法来实现这个功能呢?
把一个对象数组转换成ArrayList可以使用ArrayList.Adapter方法。这个方法把一个IList包裹在一个ArrayLIst里。现在上面的代码就可以写成:
2ArrayList personList = ArrayList.Adapter(personArray);
把一个ArrayList转换成对象数组可以使用ArrayList.ToArray方法。现在上面的代码就可以写成:
不要忘了在调用ArrayList.ToArray方法之前进行强制类型转换,否则在编译的时候会出错提示你不能把一个ArrayList转换成Person对象数组。
总结
综上所述,下次你要转换一个对象数组为ArrayList的时候,就可以使用静态方法ArrayList.Adapter;或者可以使用ArrayList对象的ArrayLIst.ToArray方法来实现相反的转换。
出处:http://justinw.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList
- 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList
- 在C#里把Array转换为ArrayList 或 把ArrayList转换为Array
- 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList
- 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList
- 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList
- 转换数组 Array为ArrayList
- 把 arrayList转换成Oracle Array (存储过程参数Array)
- 在Java中怎样把数组转换为ArrayList?
- Visual C#2005——使用ToArray方法把ArrayList转换成Array
- Array转换成ArrayList
- 在Java中如何将一个数组Array转换为ArrayList
- 如何把一个array复制到arrayList里
- java中如何把一个array复制到arrayList里
- 如何把一个array复制到arrayList里?
- 如何把java中的arrayList转化为oracle中的数组(array) --转
- 如何把java中的arrayList转化为oracle中的数组(array) --转
- ArrayList转换为数组
- 老公刚搬进86平米新居!好开心!大家还记得当年的婚房多大吗?
- XMPP学习
- Delphi中定义为string的变量str头元素是str[0]还是str[1]?
- HDOJ 1823 - Luck and Love 二维线段树...注意看清边界..
- 关于UIView的autoresizingMask属性的研究
- 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList
- 面试常考手写代码之--二叉树非递归遍历
- 【黑马程序员】C#之结构
- A New Stone Game
- 笔记本WiFi设置热点以及手机端Wifi设置
- C++类型转换总结
- 面试常考手写代码之--二叉树层次遍历(BFS)
- 程序员看婚姻
- 二分图多重匹配+二分枚举-poj2112