| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 398 人关注过本帖
标题:关于ArrayList的问题
收藏  订阅  推荐  打印
hainandgm
Rank: 1
等级:新手上路
帖子:16
积分:288
注册:2007-6-21
关于ArrayList的问题

大家好!
本人第一次使用ArrayList,怎么添加和获取自定义数据类型?
比如:
private stuct mystruct
{
public int i;
public string s;
}

mystruct l;
l.i=i;
l.s="hello;

private ArrayList myArrayList=new ArrayList();
myArrayList.Add(l);

mystruct m=(mystruct)myArrayList[0]; //这句老是提示无效的格式转换,请问如何解决?谢谢!
2008-7-25 11:34
hainandgm
Rank: 1
等级:新手上路
帖子:16
积分:288
注册:2007-6-21

对不起,修正:l.s="hello;为l.s="hello";
2008-7-25 11:36
xyq701830
Rank: 3Rank: 3
来自:浙江
等级:中级会员
威望:2
帖子:232
积分:2871
注册:2008-6-24

看不懂你在写什么了.```什么样的定义都有

菜猪猪``
2008-7-25 12:31
xyq701830
Rank: 3Rank: 3
来自:浙江
等级:中级会员
威望:2
帖子:232
积分:2871
注册:2008-6-24

mystruct m=(mystruct)myArrayList[0];
能这样装换吗.书去好好看看吧

菜猪猪``
2008-7-25 12:31
shmilylee
Rank: 3Rank: 3
来自:江苏扬州蹩脚小公司
等级:中级会员
威望:2
帖子:202
积分:2402
注册:2007-7-6

我没看出有什么地方不对
特地做了个测试
我在项目里随便找了个类试了一下
DBAccess db = new DBAccess();
        ArrayList al = new ArrayList();
        al.Add(db);
        DBAccess db2 = (DBAccess)al[0];
测试通过啊!
还有,这样做会涉及到数据的装箱,拆箱,数据量大的话影响效率
不妨试试.NET里的泛型
List<mystruct > list = new List<mystruct >();
可以试试看
2008-7-25 14:31
hainandgm
Rank: 1
等级:新手上路
帖子:16
积分:288
注册:2007-6-21

非常感谢各位!
本人也是刚用C#没多久,对里面的一些不是很了解,特别感谢shmilylee朋友,我去学学.NET的泛型.
2008-7-25 14:43
fjfhnui
Rank: 2
等级:注册会员
帖子:57
积分:795
注册:2007-6-18

名字都写错了 struct

[ 本帖最后由 fjfhnui 于 2008-7-25 22:16 编辑 ]
2008-7-25 22:10
漏网之雨
Rank: 1
等级:新手上路
帖子:21
积分:328
注册:2008-7-19

ArrayList类的元素是任何类型的,区别于List<T>ArrayList对象跟List<T>对象的操作方式相同.不同点:
            一:ArrayList的元素是任何类型的.
            二:List<T>的元素类型跟T一致.
            System.Collections.ArrayList myArrayList = new System.Collections.ArrayList(10);
            
            myArrayList.Add(11);
            myArrayList.Add("Hello");
            myArrayList.Add("I ");
            myArrayList.Add('a');
            myArrayList.Remove('a');
            myArrayList.Insert(2,"爱国一点");
            for (int i = 0; i < myArrayList.Count;i++ )
            {
                Console.WriteLine(myArrayList[i]);
            }
            Console.Read();

[ 本帖最后由 漏网之雨 于 2008-7-30 00:36 编辑 ]
2008-7-30 00:34
tpriwwq
Rank: 1
等级:新手上路
帖子:15
积分:254
注册:2008-7-24

使用泛型比较好
2008-7-30 13:07
天使不哭
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:22
帖子:602
积分:6716
注册:2006-7-9

既然结果出来了就结贴。

C#Winform技术群:25380362
C#Winform技术群2:44348381
C#Winform技术群3:34172317    大家看哪个没有满人就加哪吧,因为群经常满,所以我们会清理两周内不发言的人。
2008-7-30 13:47
共有 397 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.131240 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved