2011-02-25 121 views
1

我使用的是10個元素的二維數組,但我的代碼非常慢。清除二維數組

Dim myArray As String(,) 
For i=0 to 100 
    'Clear Array. (This line is really slow) 
    myArray = New String(,) {{"", ""}, {"", ""}, {"", ""}, _ 
    {"", ""}, {"", ""}, {"", ""}, {"", ""}, {"", ""}, {"", ""}, {"", ""}} 

    'Populate array 
    fillArray(myArray) 

    'Do stuff with array 
    useArray(myArray) 
Next i 

我用for循環的每次迭代創建一個新的空數組。有沒有一種方法可以使用相同的數組,但只需清除它?

回答

1

不是vb.net有辦法快速創建2維數組嗎?它是這樣的:

Dim rectArray(10, 10) As String 

然後你就可以填充像往常一樣:

Dim rectArray(,) As String = {{'', '', '' ....etc 

一些閱讀,可以幫助 - link

+0

你是對的!經過一番研究後發現,語法實際上是arr = New String(9,1){}。謝謝! – Urbycoz 2011-02-25 14:10:19

3

目前尚不清楚你使用陣列的用途,但你可能想用集合來代替。

就清理數組而言,請使用Array.Clear來查看。

+0

注意,雖然,'Array.Clear'將設置元素到它們的默認值 - 在字符串的情況下,它是'Nothing'(C#人的'null')。 – cHao 2011-02-25 13:48:24

+0

該數組被填充,然後其內容被讀取到別處。儘管如此,這一點並不重要。我只是說明我需要在保持其結構的同時清除陣列。 – Urbycoz 2011-02-25 13:58:26

+0

+1代表Array而不是Array。 – Josaph 2011-02-25 14:51:54