2011-07-05 64 views
1

如何在VB.NET中創建一個對象數組(另一個類)並初始化它。由於我不確定數組的長度,所以它應該是通用的。我的意思是我應該可以將任意數量的對象添加到數組中。 注:我感到非常熟悉泛型列表,但我的客戶給了我對象:(數組初始化一個VB.NET字符串數組

+0

考慮使用System.collection.Generic命名空間的列表集合 – Devjosh

+0

oops我以後讀你的NB後遺憾:) – Devjosh

+1

你不能添加任何數量的對象到數組中。數組不能動態調整大小。您需要一個'ArrayList',這是'Collections'命名空間中的其他類之一。 –

回答

1

我應該能夠任意數量的對象添加到陣列

簡單地說,你不能,數組是不可調整大小,你可以使用Array.Resize(或ReDim Preserve),但這將重新分配整個陣列,具有深不可測的運行時間。

使用列表(List(Of T))爲你的目的。如果你得到的以數組的形式輸入,這是一個簡單的問題輸入:

Dim lst As New List(Of YourObject)(inputArray) 

同樣的返回值:如果需要返回一個數組,用列表的方法ToArray()

但是在公共接口中使用數組(即作爲公共方法的參數和返回值)是不好的設計而且不應該這樣做。談談你的客戶。

+0

非常感謝。它是有幫助的 – Sathish

+0

但是在公共接口中使用數組(即作爲公共方法的參數和返回值)是不好的設計,不應該做任何事情。談談你的客戶。 < - 我知道這是舊的,但我有一個與dsf(設備模擬框架)的實例,我需要一個對象數組作爲變種傳遞給COM,這個接口是不可能的,因爲輸入需要多個字節發送。但總體上很好的答案。它更可能是糟糕的設計,但將其驅動程序代碼告訴給Microsoft。 – jeffery