2011-12-21 91 views
2

是否有辦法在循環中聲明70個不同的變量,而不是聲明每個變量?在VB.net中動態聲明變量

我想做一些象下面這樣:

For i As Integer = 0 To 70 
    Dim Para + i AS OracleParameter 
Next 

相反如下聲明的:

Dim Param1 AS OracleParameter 
Dim Param2 AS OracleParameter 
Dim Param3 AS OracleParameter 
… 
Dim Param70 AS OracleParameter 

回答

9

使用數組:

Dim Param(69) As OracleParameter 
For i As Integer = 0 To Param.Length - 1 
    Param(i) = New OracleParameter(..) 
    '' etc.. 
Next 
1

我從來沒有見過這樣的方法,但在查看它時,爲什麼不使用列表或KeyValuePair作爲關鍵字?我真的推薦使用這種性質的東西,即使你把「Param」這個詞作爲關鍵的一部分。

Dim Parameters as New KeyValuePair(Of String, OracleParameter) 

For i AS Integer = 0 To 70 
    Parameters.Add("Param" & i.ToString(), New OracleParameter) 
Next 

這然後可以在任何時間使用訪問(例如)

Parameters("Param66").Value 
1

通常這是通過使用一個數組完成:

Dim Para(70) As OracleParameter 

要訪問陣列中使用的元件Para(0),Para(1)等。

如果你確實需要單獨的變量,你可以寫一個小PROGRAMM打印出所需的代碼行,並複製&這些粘貼到您的代碼文件 - 但我看不出有任何理由這樣做:-)

再見,延斯