2011-05-28 81 views
0

我該怎麼辦一樣VB.NET創建新的T []在VB.NET

以下
List<T[]> result = new List<T[]>(); 

// single combination 
if (k == 0) 
{ 
    result.Add(new T[0]); // T is function type argument of generic function 

我怎麼能寫在上面VB.NET的最後一行?

我想:

result.Add(New T(0)) 'doesn't work! 

回答

1

它應該是:

result.Add(New T(0) {}) 
+0

那麼在這種情況下,大括號具有哪些功能呢? – 2011-05-28 14:56:12

+0

對不起,應該是New T(-1){}。該值不是VB中的數組長度,而是上限。花括號告訴VB編譯器它是一個數組,它可以用來放置數組的元素,例如:New T(1){New T(),New T()} – Neverbirth 2011-05-28 15:02:18

0

我試過如下:

Dim A(0) As T     ' Length = 1 
    Dim B As T() = New T(0) {}  ' Length = 1 
    Dim C As T() = New T() {}  ' Length = 0 
    Dim D As T() = New T(-1) {}  ' Length = 0 
    Dim E(-1) As T     ' Length = 0 
    Dim F As T() = Array.CreateInstance(GetType(T), 0) ' Length = 0 

因此,我建議第三選項,它是最乾淨。