2011-12-21 92 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打印出所需的代码行,并复制&这些粘贴到您的代码文件 - 但我看不出有任何理由这样做:-)

再见,延斯