在VB.net中动态声明变量

时间:2011-12-21 15:38:00

标签: vb.net variables for-loop declare

我是否可以在循环中声明70个不同的变量而不是声明每个变量?

我想做类似下面的事情:

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

3 个答案:

答案 0 :(得分:9)

使用数组:

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

答案 1 :(得分: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

答案 2 :(得分:1)

通常使用数组来完成:

Dim Para(70) As OracleParameter

要访问数组的元素,请使用Para(0),Para(1)等。

如果您确实需要单独的变量,您可以编写一个小程序,打印出所需的代码行并将这些代码行复制并粘贴到您的代码文件中 - 但我没有看到任何理由: - )

再见,Jens