c#,结构体中的Arraylist数组如何实例化?

public struct Arc
{
public int a;
public ArrayList ArcInfo;
}
定义完了这个结构体之后,我又创建了结构体数组。当我使用当中的ArcInfo成员时,编译器告诉我没有实例化。我想用:ArrayList pt[0].ArcInfo=new ArrayList ()来实例化,没有成功,请问各位大侠如何是好?

ArrayList是一种动态数组,其容量可随着我们的需要自动进行扩充.

ArrayList位于System.Collections命名空间中,所以我们在使用时,需要导入此命名空间.

在Student类的基础上利用ArrayList操作,从而了解ArrayList的用法

public class Student  
{  
              public Student(){}  
   
              public Student(String name,int age,String hobby)  
              {  
                           this.Name = name;  
                           this.Age = age;  
                           this.Hobby = hobby;  
              }  
   
              private String name;  
              public String Name  
             {  
                     get{return name;}  
                     set{name = value;}  
             }  
   
             private int age;  
             public int Age  
            {  
                     get{return age;}  
                     set{age = value;}  
            }  
   
            private String hobby;  
            public String Hobby  
           {  
                     get{return hobby;}  
                     set{hobby = value;}  
           }  
   
            public void say()  
            {  
                     Console.WriteLine("大家好,我是'{0}',今年{1}岁,我喜欢'{2}'",  
                      this.Name,this.Age,this.Hobby);  
            }  
}

编写测试类,了解ArrayList的方法

using System.Collections;  
   
public class TestStudent  
{  
              public static void main(String args [])  
             {  
                         //建立ArrayList对象  
           ArrayList students = new ArrayList();  
   
                         //实例化几个Student类对象  
           Student rose = new Student("rose",25,"reading");  
                          Student jack = new Student("jack",28,"singing");  
                          Student mimi = new Student("mimi",26,"dancing");  
   
                          //利用ArrayList类的add()方法添加元素  
           students.add(rose);  
                          students.add(jack);  
                          students.add(mimi);  
   
                          //利用ArrayList的Count属性查看该集合中的元素数量  
           int number = students.Count;  
                          Console.WriteLine("共有元素" + number + "个");  
   
                          //读取单个元素,因为存入ArrayList中的元素会变为Object类型,  
                         //所以,在读取时间,  
           Student stu = students[0] as Student;  
                          stu.say();  
   
                          //遍历元素 -- 通过索引  
           for(int i = 0;i < students.Count;i ++)  
                        {  
                               Student a = students[i] as Student;  
                               a.say();  
                        }  
                        //利用foreach循环  
          foreach(Object o in students)  
                       {  
                               Student b = o as Student;  
                               b.say();  
                      }  
   
                      //删除元素  通过索引删除  
         students.removeAt(0);  
                      //删除元素,    通过对象名  
         students.remove(jack);  
                     //清空元素  
         students.Clear();  
   
                      //我们知道,ArrayList的容量会随着我们的需要自动按照一定规律  
         //进行填充,当我们确定不再添加元素时,我们要释放多余的空间  
         //这就用到了Capacity属性和TrimtoSize()方法  
         //利用Capacity属性可以查看当前集合的容量     
         //利用TrimtoSize()方法可以释放多余的空间  
             
   
         //查看当前容量  
         int number = students.Capacity;  
                    //去除多余的容量  
        students.TrimtoSize();                       
             }  
}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-11-12
public struct Arc
{
public int a;
public ArrayList ArcInfo;
public Arc()
{
ArcInfo = new ArrayList();
}
}

利用构造自动实例化.本回答被提问者采纳
第2个回答  2009-03-20
你的使用方法错误,ArrayList里面哪里有ArcInfo这个成员?分明是Arc里面才有,此外带[]的索引也无法用于Arc类型的表达式,要改成
Arc arc;
arc.ArcInfo = new ArrayList();
第3个回答  2009-03-20
你得引用命名空间System.Collection;然后才可以实例化arraylist数组
第4个回答  2009-03-20
你到自己的帮助文档找啊

C#,Array是抽象类,怎么能实例化?
ArrayList实现了IList,ICollection接口,用到Array的地方用ArrayList实现即可 看看MSDN的帮助(注意Array类只能由编译器和系统显式派生):http:\/\/msdn.microsoft.com\/zh-cn\/library\/system.array.aspx http:\/\/msdn.microsoft.com\/zh-cn\/library\/system.collections.arraylist(VS.80).aspx ...

如何实例化ArrayList
student s1 = new student();student s2 = new student();student s3 = new student();students.add(s1);students.add(s2);students.add(s3);你这段代码之间 ,应该有个给 你实力的对象的name赋值.在放arrayList中 例如:student s1 = new student();student s2 = new student();student s3 ...

...加进来的是一个结构体数组。我无法获取结构体里元素的值..._百度...
ArrayList是.net1.1的类了,太古老了,存储的是object类型,取的时候要转换,就像你上面那样。从.net2.0开始引入了泛型,ArrayList就被List<T>替代了。现在不提倡用ArrayList。

c#中一个数组要存储不同类型的变量要怎么定义
ArrayList a = new ArrayList();然后再a.Add(你要添加的数据),什么类型的都可以 这个a就相当于是一个数组(其实是一个集合,用法跟数组类似)注意要using System.Collections;这样才可以用ArrayList

C#数组如何添加元素
1、使用 ArrayList 来定义数组,Arraylist 有add、Insert方法,可以自由向数组中添加新数据。2、向数组中增加一个元素,运行数组测试程序,并向控制台输出结果,arraylist.Add(5); \/\/ 添加数组元素 Console.WriteLine("2. 数组列表的容量为{0},实际包含{1}个元素:",arraylist.Capacity, arraylist....

c#是如何在arraylist对象中添加数据的?
sb.Add(name,courseID,value)没有这个写法吧?ArrayList类没有三个参数的Add方法.sb.Add(new string[]{name,courseID,value})才对吧?sb.Add(new course (name,courseID,value))是往ArrayList里加入一个course 的对象

c#如何把从access数据库里读出来的N行数据按顺序付给数组呀
首先定义一个结构体:struct A { string name;string num;string professional;} 定义arraylist:arraylist stu_List;做一个循环,将用sql语句选出来的行列放入到stu_List里面,大概是如下意思,具体代码记不清了,查看dataread的东西看看,c#操纵数据块的那一块看看,就明白了:\/\/注释,读取选出来的表...

如何定义一个动态的对象数组?
如果是C的话,定义一个数组的结构体,结构体内部初始化一个数组,假设初始大小为100,再写add()函数,用add()添加元素,再写函数检查当添加到大于初始容量时,初始化一个原SIZE*2的数组,把原数组的元素copy到新数组中。如果是Java之类的话,ArrayList list=new ArrayList();...

C#高手进,“Arraylist中的所有元素都是对象的引用” ,我在看书的时候...
其实可以理解为 C\/C++ 中的指针类型 引用的只是一个内存地址 === C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。数组的元素,不管是引用类型还是值类型,都存储在托管堆上。引用类型在栈中存储...

c#中怎么编个数组可以存放无限个整数
ArraryList alist = new ArraryList();alist.Add(11);alist.Add("string");alist.Add('char');alist.Count;\/\/获取元素个数,3个。性能较低,这个数组存储的object,涉及装箱\/拆箱。建议改用System.Collections.Generic.IList IList<int> list = new List<int>();方法同上。不用类型转换,这...

相似回答