2011-09-18 53 views
3

最近我发现我不能够实例化一个结构数组:结构添加到集合中的VB.NET

Dim mObjectLists() As New objectLayout 

OK,公平的,但它是一个简单的方法来存储一堆数组中的数据而不是定义类。之后,我试图对此进行定义:

Dim mObjectLists() As Collection 

并将结构添加到集合中。但它说你应该首先实例化参考对象。我搜索了基于基础集合类创建我自己的集合,但我认为这是浪费时间编写具有类继承的代码而不是第一个示例。

我应该怎么做才能解决我的问题,如第一个示例:)。

+0

两个数组和泛型集合应该能够遏制结构。但你听起来很困惑。你究竟想要做什么? – CodesInChaos

+0

Dim mObjectLists()as objectLayout = new objectLayout(5){} – Egor4eg

+0

我说过,我试着在我的数组中存储一个结构,但它说你应该首先实例化它,而对于数组,New关键字或实例化是不允许的。像这样。 Egor4eg我试过了,谢谢。但是,如果我不把最大字段放在它上面,编译器会给我提供像上一个错误那样的错误,我想知道如何在不定义最大字段的情况下执行此操作。 – MahanGM

回答

5

你可以使用这样的事情:

Module Module1 

    Sub Main() 
     Dim list As IList(Of NewStructure) 
     list = New List(Of NewStructure) 
     list.Add(New NewStructure() With {.Name = "test1"}) 
     list.Add(New NewStructure() With {.Name = "test2"}) 
     Console.WriteLine(list(0).Name) 
     Console.WriteLine(list(1).Name) 
     Console.ReadLine() 
    End Sub 

    Public Structure NewStructure 
     Property Name As String 
    End Structure 
End Module 
+0

正是我所说的!谢谢。 – MahanGM