2011-02-25 70 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