日期:2014-05-17  浏览次数:20868 次

arraylist和数据结构的问题
想模拟一个文件系统,定义了一个目录的数据结构
    public class UFD
    {//用户文件目录
        public string name;               //目录名
        public int size;                  //目录大小
        public string user;               //所属用户
        public bool isshare;              //是否共享
        public string creattime;          //创建时间
        public string changetime;         //修改时间
        public string readtime;           //访问时间
        public string locat;              //文件位置
        public UFD fatherUFD;             //父目录
        public ArrayList childFCB;        //子文件集
        public ArrayList childUFD;        //子目录集
        public UFD()
        {//构造方法
            this.childFCB = new ArrayList();
            this.childUFD = new ArrayList();
        }
    }

用如下方式测试
            UFD root = new UFD();
            UFD user1 = new UFD();
            UFD user2 = new UFD();
            user1.name = "thisis1";
            user2.name = "thisis2";
            root.childUFD[0] = user1;
            root.childUFD.Add(user2);
            UFD tmp = root.childUFD[0] as UFD;
            MessageBox.Show(tmp.name);

但总是无法显示tmp的内容,第一次用arraylist,是不是用错了,总感觉类那样定义不靠谱

------解决方案--------------------
root.childUFD[0] = user1;这个有问题,,现在arraylist大小是0所以没有childUFD[0]这个项,,
你得用add添加,,然后arraylist有了大小以后才能用childUFD[0]索引来查询