如何初始化结构体中的ArrayList?

kinlin 2008-11-19 12:47:36
代码如下:
Public Structure Person
Public Name As String
Public Age As Integer
Public ClassList As New ArrayList
End Structure
问题是ClassList无法初始化,New下有波浪线,还请高手赐教,如何初始化结构体中的ArrayList
...全文
262 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovehongyun 2008-11-19
  • 打赏
  • 举报
回复
不能那么写.要么你就
public struct test
{
public string name;
public int age;
public ArrayList al;
}
然后
test t;
t.al = new ArrayList();
al.Add("d");
.....

一般结构中通常用来封装小型相关变量组
wfyfngu 2008-11-19
  • 打赏
  • 举报
回复
选择使用结构而不是类通常需要满足下面的条件

1.类型具有基元类型的特性,换句话说,这是一个极其简单的类型,这个类型内部将不提供任何可以改变其字段的方法
2.类型不需要从其它类型派生,也不会是其它类型的基类
4.类型的实例较小(16字节或更小)
5.类型的实力较大(16字节以上),但从不被作为参数传递给方法,也不会作为任何方法的返回类型

所以,建议使用Class,而不是结构
atlantis957 2008-11-19
  • 打赏
  • 举报
回复
在结构中不允许直接初始化变量,我刚才试验了
如果想初始化可以自定义构造函数
我刚才写的C#的代码,你看看吧

class Program
{
public struct Person
{
public string name;
public int age;
public ArrayList ClassList;
public Person(string name,int age,ArrayList al)
{
this.name = name;
this.age = age;
this.ClassList = al;
}
}
static void Main(string[] args)
{
ArrayList myArray = new ArrayList();
myArray.Add("我的Array");
Person MyPerson = new Person("哈哈", 10,myArray);
Console.WriteLine(MyPerson.name);
Console.WriteLine(MyPerson.age);
Console.WriteLine(MyPerson.ClassList[0]);
}
}
wuyq11 2008-11-19
  • 打赏
  • 举报
回复
Public ClassList As ArrayList
曾默 2008-11-19
  • 打赏
  • 举报
回复
意见跟楼上大哥一样 去掉new

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧