2011-09-18 87 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